Java中的Stream sorted()方法用来List集合比较方便,我们可以轻松对List进行顺序排序以及倒序排序等操作,下面我们来学习一下吧!
1)Stream sorted()对List进行顺序排序(从小到大),代码如下:
public static void main(String[] args) { // Creating a list of integers List<Integer> list = Arrays.asList(-9, -18, 0, 25, 4); System.out.println("The sorted stream is : "); list.stream().sorted().forEach(System.out::println); }
输出结果如下:
2)Stream sorted()对List进行倒序排序(从大到小),代码如下:
public static void main(String[] args) { // Creating a list of integers List<Integer> list = Arrays.asList(-9, -18, 0, 25, 4); System.out.println("The sorted stream is : "); list.stream().sorted(Comparator.reverseOrder()).forEach(System.out::println); }
输出结果如下:
3)Stream sorted()对List对象按指定属性值排序,代码如下:
import java.util.*; class Point { Integer x, y; Point(Integer x, Integer y) { this.x = x; this.y = y; } public String toString() { return this.x + ", "+ this.y; } } class GFG { public static void main(String[] args) { List<Point> aList = new ArrayList<>(); aList.add(new Point(10, 20)); aList.add(new Point(5, 10)); aList.add(new Point(1, 100)); aList.add(new Point(50, 2000)); // displaying the stream with elements // sorted根据x属性排序 aList.stream() .sorted((p1, p2)->p1.x.compareTo(p2.x)) .forEach(System.out::println); } }
输出结果如下: