Java8之集合排序

Posted sunseeker

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java8之集合排序相关的知识,希望对你有一定的参考价值。

1.List<Map<String,Object>>格式

Map<String,Object> map= new HashMap<>();
List<Map<String,Object>> list= new ArrayList<>();
map.put("count",1); 
//排序
Comparator<Map<String, Object>> comparator = Comparator.comparing(item -> item.get("count").toString()); list= list.stream().sorted(comparator.reversed()).collect(Collectors.toList());

2.List<Model>格式

list.sort(Comparator.comparing(Model::getOrder));

 3.Set<Model>格式

public static void test2(){
    Set<Student> students = new HashSet<>();
    Student student1 = new Student(1,"李四",1);
    Student student2 = new Student(2,"张三",3);
    Student student3 = new Student(3,"王麻",2);
    students.add(student1);
    students.add(student2);
    students.add(student3);
    List<Student> studentList1 = new ArrayList<>(students);
    studentList1.sort(Comparator.comparing(Student::getAge));
    System.out.println(studentList1);
}

4.Set<String>格式

public static void test3(){
        Set<String> sets = new HashSet<>();
        sets.add("aa");
        sets.add("ee");
        sets.add("cc");
        //倒序
        Set<String> treeSetDesc = new TreeSet<>((o1, o2) -> o2.compareTo(o1));
        treeSetDesc.addAll(sets);
        System.out.println(treeSetDesc);
        //升序
        Set<String> treeSetAsc = new TreeSet<>((o1, o2) -> o1.compareTo(o2));
        treeSetAsc.addAll(sets);
        System.out.println(treeSetAsc);
    }

 

以上是关于Java8之集合排序的主要内容,如果未能解决你的问题,请参考以下文章

JAVA秒会技术之Java8新特性利用流快速处理集合的常见操作

JAVA秒会技术之Java8新特性利用流快速处理集合的常见操作

精细篇Java8强大的stream API接口大全(代码优雅之道)

Java8 新特性之集合操作Stream

算法排序之堆排序

java8新特性:对map集合排序