diseaseTypeList.stream().sorted 使用
时间: 2023-08-17 12:11:57 浏览: 72
这是一个Java 8中Stream API的使用,它是用来对一个集合进行排序的。具体来说,`diseaseTypeList`是一个集合,`stream()`方法将其转换成一个流,`sorted()`方法对流中的元素进行排序,排序的规则可以自定义。例如,可以使用以下代码对字符串类型的集合进行排序:
```
List<String> list = Arrays.asList("apple", "banana", "orange");
List<String> sortedList = list.stream().sorted().collect(Collectors.toList());
```
这将会返回一个排好序的新集合 `["apple", "banana", "orange"]`。需要注意的是,`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中。
java.util.stream.Stream#sorted(java.util.Comparator<? super T>) 如何定义正序和倒序
java.util.stream.Stream#sorted(java.util.Comparator<? super T>)方法可以接收一个Comparator对象作为参数,用于比较Stream中的元素的大小关系。我们可以通过实现Comparator接口来定义自己的比较器,从而实现正序或倒序排列。
如果我们希望按照元素的自然顺序进行排序,可以使用元素本身的compareTo()方法。例如,对于一个List<Integer>对象list,我们可以使用以下代码对其进行排序:
```
List<Integer> sortedList = list.stream()
.sorted()
.collect(Collectors.toList());
```
在上述代码中,我们没有传递Comparator对象,因此会使用元素自身的compareTo()方法进行比较,从而按照元素的自然顺序进行排序。
如果我们希望按照元素的降序排列,可以在Comparator对象的compare()方法中返回负数。例如,对于一个List<Integer>对象list,我们可以使用以下代码对其进行降序排列:
```
List<Integer> sortedList = list.stream()
.sorted((i1, i2) -> i2.compareTo(i1))
.collect(Collectors.toList());
```
在上述代码中,我们传递了一个Comparator对象,该对象使用i2.compareTo(i1)比较元素的大小关系,从而实现了降序排列。
阅读全文