java stream排序
时间: 2023-10-31 12:07:03 浏览: 122
在Java中,可以使用Stream API对集合进行排序。下面是一个简单的示例:
```java
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
public class StreamSortingExample {
public static void main(String[] args) {
List<Integer> numbers = new ArrayList<>();
numbers.add(5);
numbers.add(2);
numbers.add(10);
numbers.add(1);
numbers.add(8);
// 通过自然排序对数字列表进行升序排序
List<Integer> sortedNumbers = numbers.stream()
.sorted()
.toList();
System.out.println("升序排序结果: " + sortedNumbers);
// 通过自定义排序对数字列表进行降序排序
List<Integer> reverseSortedNumbers = numbers.stream()
.sorted(Comparator.reverseOrder())
.toList();
System.out.println("降序排序结果: " + reverseSortedNumbers);
}
}
```
以上代码将输出以下结果:
```
升序排序结果: [1, 2, 5, 8, 10]
降序排序结果: [10, 8, 5, 2, 1]
```
在上述示例中,我们使用`sorted()`方法对Stream进行排序。对于自然排序,我们可以直接调用`sorted()`方法,它会使用元素的自然顺序进行排序。如果要进行自定义排序,我们可以使用`sorted(Comparator)`方法,并传入一个自定义的Comparator对象。在示例中,我们使用`Comparator.reverseOrder()`来实现降序排序。
请注意,`sorted()`方法不会改变原始集合,而是返回一个新的排好序的List。
阅读全文