Java经常使用小笔记

1.对list集合进行分页html

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

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

复制代码
    //时间由新到旧进行排列 就是时间由大到小
Collections.sort(voList, new Comparator<ProjectWorkItemAssignmentVO>() {
/**ide

  • @param o1
  • @param o2
  • @return 返回负数表示:o1 大于o2,
  • 返回0 表示:o1和o2相等,
  • 返回正数表示:o1小于o2br/>*/
    @Override
    public int compare(ProjectWorkItemAssignmentVO o1, ProjectWorkItemAssignmentVO o2) {
    if(o1.getsTime().compareTo(o2.getsTime()) == 1){
    return -1;
    }code

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

      //时间由旧到新进行排列 就是时间由小到大
Collections.sort(voList, new Comparator<ProjectWorkItemAssignmentVO>() {
/**htm

  • @param o1
  • @param o2
  • @return 返回正数表示:o1 大于o2,
  • 返回0 表示:o1和o2相等,
  • 返回负数表示:o1小于o2br/>*/
    @Override
    public int compare(ProjectWorkItemAssignmentVO o1, ProjectWorkItemAssignmentVO o2) {
    return o1.geteTime().compareTo(o2.geteTime());
    }
    });blog

        //完成度由低至高 升序
    Collections.sort(voList, new Comparator<ProjectWorkItemAssignmentVO>() {
    /**排序

  • 由低到高排序
  • @param o1
  • @param o2
  • @return 返回负数表示:o1 小于o2,
  • 返回0 表示:o1和o2相等,
  • 返回正数表示:o1大于o2br/>*/
    @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);
复制代码
  参考链接: http://www.javashuo.com/article/p-hnpqfupb-hc.htmlget

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

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

5.使用set对list集合去重

//利用set 对list去重复Set<SPCustomer> set = new HashSet<SPCustomer>(tempList);//使用去重复后的set 从新构建一个listList<SPCustomer> tempList2 = new ArrayList<SPCustomer>(set);

相关文章
相关标签/搜索