摘要:
正序:一般不需要额外操作,如果需要的话,就在lambda位置加 Comparator.comparingInt(a -> a.)
倒序:除了一维数组的倒序需要stream+boxed操作,其余都使用lambda:(a,b)->Integer.compare(b.id,a.id)
一维数组int num[ ]
正序:
Arrays.sort(num);
倒序:
num = Arrays.stream(num)
.boxed()
.sorted(Collections.reverseOrder())
.mapToInt(Integer::intValue)
.toArray();
二维数组 int num[][]
正序:
Arrays.sort(points, Comparator.comparingInt(a -> a[1]));
倒序:
Arrays.sort(points, (a, b) -> Integer.compare(b[0], a[0]));
对象数组Object[]
class student{
int id;
int age;
String name;
}
student list[] = new student[10];
按某个属性正序:
Arrays.sort(list,Comparator.comparingInt(a->a.id));
按某个属性倒序:
Arrays.sort(list,(a,b)->Integer.compare(b.id,a.id));
优先队列PriorityQueue<Integer>
正序: