zoukankan      html  css  js  c++  java
  • Java常用小笔记

    1.对list集合进行分页

         //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);

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

           //时间由新到旧进行排列 就是时间由大到小
                Collections.sort(voList, new Comparator<ProjectWorkItemAssignmentVO>() {
                    /**
                     * @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<ProjectWorkItemAssignmentVO>() {
                    /**
                     * @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<ProjectWorkItemAssignmentVO>() {
                    /**
                     * 由低到高排序
                     * @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);

      参考连接: https://www.cnblogs.com/dujinyang/p/4788028.html

    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 重新构建一个list
    List<SPCustomer> tempList2 = new ArrayList<SPCustomer>(set);
  • 相关阅读:
    让 vscode 作为 SpringBoot,Java,Maven,甚至于 JavaScript,C,C++,Python,Php等多语言的开发工具吧!
    MySQL 连接错误集锦
    前端开发工具库:包含事件委托,动画处理,以及大部分常用的前端工具
    初探 Node.js 框架:eggjs (环境搭配篇)
    如何快速搭建一个 Node.JS 项目并进入开发?
    关于 JavaSrcipt 前端开发的建议:模块化开发
    Spring-Session 会话共享 -> 基于 Redis 集群,内附各大错误合集,包括配置,类寻找不到、连接错误等
    Java Email 邮件发送
    CSS 显示或隐藏子元素
    Ubuntu美化及配置,常见问题解决方案(仿 Mac 风格)
  • 原文地址:https://www.cnblogs.com/eleven258/p/9569287.html
Copyright © 2011-2022 走看看