Java

java中list stream排序方法怎么使用

小亿
255
2024-05-13 09:23:49
栏目: 编程语言

在Java中,可以使用Stream API中的sorted()方法对List中的元素进行排序。以下是一个示例:

假设有一个包含整数的List:

List<Integer> numbers = Arrays.asList(5, 2, 8, 1, 3);

可以通过以下方式对其进行排序:

List<Integer> sortedNumbers = numbers.stream()
                                     .sorted()
                                     .collect(Collectors.toList());

System.out.println(sortedNumbers); // 输出 [1, 2, 3, 5, 8]

在上面的示例中,我们首先将List转换为Stream,然后调用sorted()方法进行排序,最后使用collect(Collectors.toList())方法将排序后的元素收集到一个新的List中。

除了对整数进行排序,还可以对其他类型的元素进行排序,例如字符串:

List<String> words = Arrays.asList("apple", "banana", "pear", "orange");
List<String> sortedWords = words.stream()
                                .sorted()
                                .collect(Collectors.toList());

System.out.println(sortedWords); // 输出 [apple, banana, orange, pear]

通过使用sorted()方法,可以对List中的元素按照默认的自然顺序进行排序。如果需要自定义排序规则,可以传入Comparator对象作为参数:

List<String> words = Arrays.asList("apple", "banana", "pear", "orange");
List<String> sortedWords = words.stream()
                                .sorted(Comparator.comparing(String::length))
                                .collect(Collectors.toList());

System.out.println(sortedWords); // 输出 [pear, apple, banana, orange]

在上面的示例中,我们使用Comparator.comparing(String::length)方法定义了一个排序规则,根据字符串的长度进行排序。

0
看了该问题的人还看了