steam对list排序
时间: 2023-12-15 19:33:21 浏览: 105
可以使用Stream对List进行排序,具体方法如下:
```java
List<Integer> list = Arrays.asList(5, 3, 1, 2, 4);
List<Integer> sortedList = list.stream().sorted().collect(Collectors.toList());
System.out.println(sortedList); // 输出:[1 2, 3, 4, 5]
```
上述代码中,我们首先创建了一个包含5个整数的List,然后使用stream()方法将其转换为Stream,接着调用sorted()方法对元素进行排序,最后使用collect()方法将排序后的结果转换为List并输出。
如果需要按照自定义的排序规则进行排序,可以使用sorted(Comparator<? super T> comparator)方法,其中comparator是一个比较器,用于定义排序规则。例如:
```java
List<String> list = Arrays.asList("apple", "banana", "orange", "pear");
List<String> sortedList = list.stream().sorted((s1, s2) -> s1.compareTo(s2)).collect(Collectors.toList());
System.out.println(sortedList); // 输出:[apple, banana, orange, pear]
```
上述代码中,我们首先创建了一个包含4个字符串的List,然后使用stream()方法将其转换为Stream,接着调用sorted()方法并传入一个比较器,该比较器使用compareTo()方法对字符串进行比较,最后使用collect()方法将排序后的结果转换为List并输出。
阅读全文