java的steam流对泛型是对象的集合去重
时间: 2024-04-10 20:27:40 浏览: 106
Java的Stream流对泛型是对象的集合去重可以使用`distinct()`方法来实现。`distinct()`方法会根据对象的`equals()`方法来判断对象是否重复,所以需要确保泛型对象已经正确实现了`equals()`方法。
下面是一个示例代码:
```java
List<T> list = Arrays.asList(obj1, obj2, obj3, obj4, obj5); // 假设obj1到obj5是泛型对象的集合
List<T> distinctList = list.stream()
.distinct()
.collect(Collectors.toList());
```
上述代码将泛型对象集合转换成Stream流,然后使用`distinct()`方法对流进行去重操作,最后通过`collect()`方法将去重后的结果收集到一个新的List中。
需要注意的是,为了正确去重,泛型对象需要正确实现`equals()`方法和`hashCode()`方法。否则,将无法正确判断对象是否重复。
阅读全文