list 排序 stream
时间: 2023-07-21 11:38:50 浏览: 46
可以使用Java 8中的Stream对List进行排序。以下是一个示例代码:
``` java
List<Integer> numbers = Arrays.asList(5, 2, 4, 1, 3);
List<Integer> sortedNumbers = numbers.stream().sorted().collect(Collectors.toList());
```
在这个示例中,我们首先创建了一个Integer类型的List,然后使用Stream对其进行排序。最后,我们使用collect方法将结果收集到另一个List中。该代码将按升序排序数字列表。
另外,您还可以使用Comparator对List进行自定义排序。以下是一个示例代码:
``` java
List<String> names = Arrays.asList("John", "Alex", "Tom", "David");
List<String> sortedNames = names.stream().sorted(Comparator.reverseOrder()).collect(Collectors.toList());
```
在这个示例中,我们首先创建了一个String类型的List,然后使用Stream和Comparator进行自定义排序。在这个示例中,我们使用reverseOrder()方法按降序对名称列表进行排序。
相关问题
LIst stream 排序
List stream排序是Java 8中引入的一种新的排序方式,它可以通过使用Stream API来对List中的元素进行排序。使用List stream排序可以使代码更加简洁和易于理解。下面是一个简单的例子,展示了如何使用List stream排序:
```
List<Integer> numbers = Arrays.asList(5, 3, 8, 6, 2, 7);
List<Integer> sortedNumbers = numbers.stream().sorted().collect(Collectors.toList());
```
在这个例子中,我们首先创建了一个包含一些整数的List。然后,我们使用stream()方法将List转换为一个流,接着使用sorted()方法对流中的元素进行排序,最后使用collect()方法将排序后的元素收集到一个新的List中。
List stream 排序
List的stream可以使用sorted()方法进行排序。使用sorted()方法时,如果List存储的是整数类型的元素,可以直接使用sorted()方法进行正序排序,如下所示:
List<Integer> collect = list.stream().sorted().collect(Collectors.toList());
如果需要倒序排序,可以使用sorted(Comparator.reverseOrder())方法,如下所示:
List<Integer> collect1 = list.stream().sorted(Comparator.reverseOrder()).collect(Collectors.toList());
另外,如果List存储的是对象类型的元素,可以使用sorted(Comparator.comparing(类::属性一))方法进行排序。如果需要先按属性一升序排序,而后对结果集进行属性一降序排序,可以使用sorted(Comparator.comparing(类::属性一).reversed())方法。
以下是一个示例代码演示List<Integer>的正序排序:
List<Integer> list = new ArrayList<>();
list.add(50);
list.add(45);
list.add(25);
list.add(98);
list.add(32);
List<Integer> collect = list.stream().sorted().collect(Collectors.toList());
System.out.println("list<Integer>元素正序:" + collect);
输出结果为:list<Integer>元素正序:[25, 32, 45, 50, 98]