Java常用小笔记

104 阅读3分钟

1.对list集合进行分页

     //startIndex指的是开始的小标 从0开始,pageSize是每页记录数 int toIndex = new Integer(startIndex)+new Integer(pageSize) ; List listPage = voList.subList(new Integer(startIndex),toIndex>voList.size() ? voList.size():toIndex);

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

复制代码     //时间由新到旧进行排列 就是时间由大到小 Collections.sort(voList, new Comparator() { /** * @param o1 * @param o2 * @return 返回负数表示:o1 大于o2, * 返回0 表示:o1和o2相等, * 返回正数表示:o1小于o2 */ @Override public int compare(ProjectWorkItemAssignmentVO o1, ProjectWorkItemAssignmentVO o2) { if(o1.getsTime().compareTo(o2.getsTime()) == 1){ return -1; }

                if(o1.getsTime().compareTo(o2.getsTime()) == 0){
                    return 0;
                }
                return 1;
            }
        });
        System.out.println("排序后voList---" + voList);

      //时间由旧到新进行排列 就是时间由小到大 Collections.sort(voList, new Comparator() { /** * @param o1 * @param o2 * @return 返回正数表示:o1 大于o2, * 返回0 表示:o1和o2相等, * 返回负数表示:o1小于o2 */ @Override public int compare(ProjectWorkItemAssignmentVO o1, ProjectWorkItemAssignmentVO o2) { return o1.geteTime().compareTo(o2.geteTime()); } });

    //完成度由低至高 升序 Collections.sort(voList, new Comparator() { /** * 由低到高排序 * @param o1 * @param o2 * @return 返回负数表示:o1 小于o2, * 返回0 表示:o1和o2相等, * 返回正数表示:o1大于o2 */ @Override public int compare(ProjectWorkItemAssignmentVO o1, ProjectWorkItemAssignmentVO o2) { if (o1.getCompletion() > o2.getCompletion()) { return 1; } if (o1.getCompletion() == o2.getCompletion()) { return 0; } return -1; } }); 复制代码   对于平常数字的排序,只需要比较大下返回对应的正数或者负数来决定按照什么顺序,对于时间日期,需要调用compareTo()方法做比较,具体可以详看对应的api源码

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

复制代码 //截取0到倒数第三个/位置之间的字符串,黄色标注部分 String actionRecord = "2018-09-08 14:59:42[Start时间]||2018-09-08 15:40:48[Pause时间]||"; //获取最后一个|的下标 int index = 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 = new HashSet(tempList); //使用去重复后的set 重新构建一个list List tempList2 = new ArrayList(set); 欢迎工作一到五年的Java工程师朋友们加入Java群: 891219277 群内提供免费的Java架构学习资料(里面有高可用、高并发、高性能及分布式、Jvm性能调优、Spring源码,MyBatis,Netty,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多个知识点的架构资料)合理利用自己每一分每一秒的时间来学习提升自己,不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代!