Java常用小笔记

1.对list集合进行分页

     //startIndex指的是开始的小标 从0开始,pageSize是每页记录数inttoIndex =newInteger(startIndex)+new Integer(pageSize) ;

    List listPage = voList.subList(newInteger(startIndex),toIndex>voList.size() ? voList.size():toIndex);
复制代码

2.Collections对list集合按照指定属性进行排序

//时间由新到旧进行排列 就是时间由大到小Collections.sort(voList,newComparator() {

            /**                * @param o1

            * @param o2

            * @return 返回负数表示:o1 大于o2,

            * 返回0 表示:o1和o2相等,

            * 返回正数表示:o1小于o2

            */                @Override

            publicint compare(ProjectWorkItemAssignmentVO o1, ProjectWorkItemAssignmentVO o2) {

                if(o1.getsTime().compareTo(o2.getsTime()) == 1){

                    return-1;

                }

                if(o1.getsTime().compareTo(o2.getsTime()) == 0){

                    return0;

                }

                return1;

            }

        });

        System.out.println("排序后voList---" + voList);
复制代码

      //时间由旧到新进行排列 就是时间由小到大Collections.sort(voList,newComparator() {

            /**                * @param o1

            * @param o2

            * @return 返回正数表示:o1 大于o2,

            * 返回0 表示:o1和o2相等,

            * 返回负数表示:o1小于o2

            */                @Override

            publicint compare(ProjectWorkItemAssignmentVO o1, ProjectWorkItemAssignmentVO o2) {

                  return o1.geteTime().compareTo(o2.geteTime());

            }

        });
复制代码

    //完成度由低至高 升序Collections.sort(voList,newComparator() {

            /**                * 由低到高排序

            * @param o1

            * @param o2

            * @return 返回负数表示:o1 小于o2,

            * 返回0 表示:o1和o2相等,

            * 返回正数表示:o1大于o2

            */                @Override

            publicint compare(ProjectWorkItemAssignmentVO o1, ProjectWorkItemAssignmentVO o2) {

                if(o1.getCompletion() > o2.getCompletion()) {

                    return1;

                }

                if(o1.getCompletion() == o2.getCompletion()) {

                    return0;

                }

                return-1;

            }

        });
复制代码

  对于平常数字的排序,只需要比较大下返回对应的正数或者负数来决定按照什么顺序,对于时间日期,需要调用compareTo()方法做比较,具体可以详看对应的api源码

3.java获取指定字符串,一个字符串中有多个相同的

//截取0到倒数第三个/位置之间的字符串,黄色标注部分String actionRecord = "2018-09-08 14:59:42[Start时间]||2018-09-08 15:40:48[Pause时间]||";//获取最后一个|的下标intindex = actionRecord.lastIndexOf("|");//在0-index-1范围内,查找最后一个匹配的的字符串的位置index = actionRecord.lastIndexOf("|",index-1);//在0-index-1范围内,查找最后一个匹配的字符串的位置index = actionRecord.lastIndexOf("|",index-1);//截取两者之间的字符串String temp = actionRecord.substring(0,index+1);

参考连接:www.cnblogs.com/dujinyang/p…

4.判断一个时间段是否与另一个时间段重合

//判断时间段time1~time2是否与时间段fromTime~toTime重合if(time1 >= fromTime && time1 < toTime || fromTime >= time1 && fromTime < time2){

//重合}

5.使用set对list集合去重

//利用set 对list去重复Set set =newHashSet(tempList);//使用去重复后的set 重新构建一个listList tempList2 =newArrayList(set);

转载于:https://juejin.im/post/5c0a78b1e51d4570294757c8

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值