学习:list集合中元素、对象排序

参考:HashMap的2种遍历(entrySet、keySet)(详细分为4个方法)

list集合中元素、对象排序

  • 对普通的元素可使用Collection中的sort();
  • 对对象类型而言,可以通过实现Comparator接口,重写compare方法实现。
  • //1.对集合中元素排序
            List nums = new ArrayList();
            nums.add(3);
            nums.add(5);
            nums.add(1);
            nums.add(0);
            System.out.println(nums);
            Collections.sort(nums);
            System.out.println(nums);
    //2.对对象排序
    
            List<People> plist = new ArrayList<People>(); 
            //创建People对象,并将他们依次放入List中 
            People p1 = new People("zhangsan",24);
            People p2 = new People("zhaoliu",22);
            People p3 = new People("wangwu",26);
            People p4 = new People("sunsan",18);
    
            plist.add(p1);
            plist.add(p2);
            plist.add(p3);
            plist.add(p4);
            System.out.println("排序前的结果:"+plist);
    
    //排序对象时细化,又有两种方法:1、传一个参数(直接new)
    //2、传两个参数,集合和compare方法
            Collections.sort(plist, new Comparator<People>(){
               /* 
                 * int compare(Person p1, Person p2) 返回一个基本类型的整型,
                 * 返回负数表示:p1 小于p2,
                 * 返回0 表示:p1和p2相等,
                 * 返回正数表示:p1大于p2*/
    
                public int compare(People p1, People p2) {
                    //按照Person的年龄进行升序排列
                    if(p1.getAge() > p2.getAge()){
                        return 1;
                    }
                    if(p1.getAge() == p2.getAge()){
                        return 0;
                    }
                    return -1;
                }
            });
            System.out.println("排序后的结果:"+plist); 
        }

    学习笔记,供各位读者参考,有不足之处,忘不吝赐教!

    猜你喜欢

    转载自blog.csdn.net/qq_35206244/article/details/81198906