Java 8中 Stream 的 sorted() 可实现按照自然排序,也可使用 Comparator 提供的排序对流进行排序;支持使用 lambda 表达式进行实例化;还可实现反转自然排序。
1、sorted() 使用
按自然升序对集合进行排序,默认是升序排列;使用 Comparator 提供 reverseOrder() 方法实现降序排列。
list.stream().sorted() .stream().sorted();
list.stream().sorted(Comparator.reverseOrder()) .stream().sorted(Comparator.reverseOrder());
2、升序降序实现
import lombok.Data;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;
import java.util.List;
import java.util.stream.Collectors;
public class TestStreamSorted {
public static void sorted() {
List<Integer> list = Arrays.asList(5, 4, 3, 2, 7, 1, 6, 0, 9, 8);
List<Integer> newList = list.stream().map(x -> x + 1).collect(Collectors.toList());
List<Integer> ascList = newList.stream().sorted().collect(Collectors.toList());
Li