java对List去重并排序,如何快速地去掉两个

如题所述

从Java 8开始,可以使用Stream API对集合进行各种操作,包括筛选、过滤、去重、映射、排序和收集等。以下是一个示例,展示了如何使用Java 8的Stream API和Lambda表达式去除一个整数列表中的重复元素并进行排序:
1. 首先,创建一个包含重复元素的整数列表:
```java
List list = Arrays.asList(5, 2, 2, 1, 3, 4);
```
2. 使用Stream API的`distinct()`方法去除列表中的重复元素:
```java
List distinctList = list.stream().distinct().collect(Collectors.toList());
```
3. 对去重后的列表进行排序,可以使用`sorted()`方法,默认为自然排序:
```java
List sortedList = distinctList.stream().sorted().collect(Collectors.toList());
```
4. 如果需要对列表进行自定义排序,可以提供一个自定义的比较器:
```java
List customSortedList = distinctList.stream()
.sorted((a, b) -> a.compareTo(b)) // 升序排序
.collect(Collectors.toList());
```
5. 或者,可以将每个元素平方后进行去重和排序:
```java
List squaredAndSortedList = list.stream()
.distinct() // 去重
.sorted() // 排序
.map(x -> x * x) // 平方
.collect(Collectors.toList());
```
6. 最后,打印结果以验证去重和排序的效果:
```java
System.out.println(squaredAndSortedList); // 输出 [1, 4, 9, 16, 25]
```
以上步骤展示了如何使用Java 8的Stream API高效地对列表进行去重和排序操作。
温馨提示:答案为网友推荐,仅供参考
相似回答
大家正在搜