• java 通过实现Comparable接口使用Collections.sort排序 及 利用set的特性对 list 进行去重


    示例:实体类实现Comparable接口,重写compareTo方法

    public class Person implements Comparable<Person>{
        private String personId;
        private String rate;
        
            ......
    
        @Override
        public int compareTo(Person o) {
            if(o.getRate().equals(this.getRate())){
                return 0;
            }
            if(Double.parseDouble(this.getRate()) < Double.parseDouble(o.getRate())){
                         return -1;
                    }
            if(Double.parseDouble(this.getRate()) > Double.parseDouble(o.getRate())){
                         return 1;
                    }
            return 0;
        }    
    }

    Collections的使用

        public static void main(String[] args) {
            
            List<Person> ll = new ArrayList<Person>();
            
            ll.add(new Person("1","0.1"));
            ll.add(new Person("4","0.4"));
            ll.add(new Person("2","0.2"));
            ll.add(new Person("3","0.3"));
            
            //遍历输出结果   1  4  2  3    
            
            //默认排序(从小到大)
            Collections.sort(ll);//遍历输出结果   1  2  3  4    
    //从大到小,先默认排序再反转 Collections.sort(ll); Collections.reverse(ll);//遍历输出结果 4 3 2 1
    //随机排序,所有置换发生的可能性都是大致相等的 Collections.shuffle(ll);//遍历输出结果 1 3 4 2 }

    另:加 利用set对list进行去重

            Set set = new  HashSet();
            List<Person> newList = new ArrayList<Person>();
            for (Person p:ll) {
                if(set.add(p)){
                    newList.add(p);
                }
            }
            System.out.println( "去重后的集合: " + newList);
  • 相关阅读:
    任意用户密码重置漏洞
    0基础入门学习Python(第4章)
    dpwwn:2 Vulnhub Walkthrough
    The Library:2 Vulnhub Walkthrough
    WestWild: 1.1: Vulnhub Walkthorugh
    Canvas---折线图---绘制网格
    Canvas---绘制一个由黑到白渐变的矩形
    Canvas---绘制虚线
    Canvas---和线相关的属性和方法
    Canvas---绘制一个镂空正方形
  • 原文地址:https://www.cnblogs.com/xinzhisoft/p/10064705.html
Copyright © 2020-2023  润新知