java8 stream sorted 用法
Java 8中的Stream API提供了一种非常强大的方式来处理集合。其中的`sorted()`方法允许你按照指定的顺序对集合进行排序。
以下是如何使用`sorted()`方法的一些示例:
1. **自然排序**:
如果你有一个`List<Integer>`,你可以使用`sorted()`方法对其进行自然排序(升序):
```java
List<Integer> numbers = Arrays.asList(3, 1, 4, 1, 5, 9);
List<Integer> sortedNumbers = numbers.stream()
.sorted()
. List());
System.out.println(sortedNumbers); // 输出: [1, 1, 3, 4, 5, 9]
```
2. **自定义排序**:
如果你想按照自定义的顺序进行排序,你可以提供一个比较器(Comparator)。例如,按照绝对值进行排序:
```java
List<Integer> numbers = Arrays.asList(-3, 1, -5, 4, -1, 2);
List<Integer> sortedNumbers = numbers.stream()
.sorted(Comparator.c
omparingInt(Math::abs))java集合排序怎么实现
. List());
System.out.println(sortedNumbers); // 输出: [-1, 1, -3, 2, -5, 4]
```
3. **降序排序**:
默认情况下,`sorted()`方法执行升序排序。如果你想进行降序排序,可以结合使用`verseOrder()`:
```java
List<Integer> numbers = Arrays.asList(3, 1, 4, 1, 5, 9);
List<Integer> sortedNumbersDesc = numbers.stream()
.sorted(verseOrder())
.collect(List());
System.out.println(sortedNumbersDesc); // 输出: [9, 5, 4, 3, 1, 1] ```
4. **根据集合中的元素进行排序**:
如果你有一个`List<String>`,并且你想根据字符串的长度进行排序,你可以这样做:
```java
List<String> words = Arrays.asList("apple", "banana", "cherry",
"date");
List<String> sortedWords = words.stream()
.sorted(Comparatorpa ringInt(String::length))
.List());
System.out.println(sortedWords); // 输出: [date, apple, cherry, banana]
```
以上只是`sorted()`方法的一些基本用法示例。通过组合和传递不同的比较器,你可以执行更复杂的排序逻辑。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。