java .stream().sorted对象排序
时间: 2023-11-21 07:56:29 浏览: 93
Java中的Stream API提供了一种非常方便的方式来对集合中的元素进行排序。可以使用sorted()方法来对流中的元素进行排序。下面是一个简单的例子:
假设我们有一个字符串列表,我们想按字母顺序对它们进行排序,可以使用以下代码:
```java
List<String> list = Arrays.asList("c", "a", "b");
List<String> sortedList = list.stream().sorted().collect(Collectors.toList());
System.out.println(sortedList); // 输出:[a, b, c]
```
在这个例子中,我们首先将字符串列表转换为流,然后使用sorted()方法对流中的元素进行排序,最后使用collect()方法将排序后的元素收集到一个新的列表中。
需要注意的是,sorted()方法返回一个新的排序后的流,而不是对原始流进行排序。
相关问题
list.stream.sorted排序
list.stream.sorted是Java 8中的一个流操作,用于对集合中的元素进行排序。它可以按照自然顺序或者指定的比较器进行排序。在使用时,需要先将集合转换为流,然后调用sorted方法进行排序,最后将排序后的结果转换为集合。例如:
List<Integer> list = Arrays.asList(3, 1, 4, 2, 5);
List<Integer> sortedList = list.stream().sorted().collect(Collectors.toList());
System.out.println(sortedList); // 输出 [1, 2, 3, 4, 5]
在上面的例子中,我们将一个整数列表转换为流,然后调用sorted方法进行排序,最后将排序后的结果转换为列表。由于没有指定比较器,所以按照自然顺序进行排序。
java.util.stream.Stream#sorted(java.util.Comparator<? super T>)
java.util.stream.Stream#sorted(java.util.Comparator<? super T>)是Java 8中Stream API提供的一个方法,用于对Stream中的元素进行自定义排序。该方法接收一个Comparator对象作为参数,用于比较Stream中的元素的大小关系。在排序完成后,该方法返回一个新的Stream对象,该对象包含排序后的元素。需要注意的是,该方法不会改变原有的Stream对象,而是生成一个新的Stream对象。
例如,假设有一个List<String>对象list,我们可以通过以下代码对其进行排序:
```
List<String> sortedList = list.stream()
.sorted((s1, s2) -> s1.compareTo(s2))
.collect(Collectors.toList());
```
在上面的代码中,我们首先将list转化为Stream对象,然后使用sorted方法对其进行排序,该方法接收一个Comparator对象,使用Lambda表达式实现字符串的比较。最后通过collect方法将排序后的结果保存到一个新的List中。
阅读全文