C++11——多執行緒程式設計4
阿新 • • 發佈:2021-11-08
package com.hundsun.hswealth.mkm; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; public class MainApp { static class Person { private String name; private int age; public Person(String name, int age) { this.name = name; this.age = age; } public String getName() { return name; } public int getAge() { return age; } @Override public String toString() { return "Person{" + "name='" + name + '\'' + ", age=" + age + '}'; } } private static List<Person> LIST1; private static List<Person> LIST2; static { LIST1 = new ArrayList<>(); LIST1.add(new Person("張三", 100)); LIST1.add(new Person("李四", 200)); LIST1.add(new Person("王五", 300)); LIST1.add(new Person("趙六", 400)); LIST1.add(new Person("田七", 500)); } static { LIST2 = new ArrayList<>(); LIST2.add(new Person("張三", 100)); LIST2.add(new Person("李四", 200)); LIST2.add(new Person("田七", 500)); } public static void main(String[] args) { Collections.sort(LIST2, new Comparator<Person>() { @Override public int compare(Person o1, Person o2) { // o1:列表中的下一個元素 // 02:列表中的當前元素 System.out.println(o1.getName()); System.out.println(o2.getName()); // 自定義排序:列表中的下一個元素 和 列表中的當前元素 比較 int sort = 1; // 正數正序, 負數倒敘 System.out.println(sort); return sort; // 當返回值是:正數正序, 負數倒敘 } }); System.out.println(LIST2.toString()); Collections.sort(LIST1,(o1,o2)->o2.getAge() - o1.getAge()); // 按照年齡, 倒敘排序 System.out.println(LIST1.toString()); } } -- --------------------------------------------------控制檯列印--------------------------------------------------------------------------- 李四 張三 1 田七 李四 1 [Person{name='張三', age=100}, Person{name='李四', age=200}, Person{name='田七', age=500}] [Person{name='田七', age=500}, Person{name='趙六', age=400}, Person{name='王五', age=300}, Person{name='李四', age=200}, Person{name='張三', age=100}]