java8 stream取某个属性并去重
时间: 2024-02-06 14:41:11 浏览: 71
java list根据对象的某个属性的值去重
可以通过如下代码实现:
```
List<MyObject> list = Arrays.asList(new MyObject("A"), new MyObject("B"), new MyObject("A"));
List<String> distinctNames = list.stream()
.map(MyObject::getName)
.distinct()
.collect(Collectors.toList());
```
其中,`MyObject` 为包含一个名字属性的类。`map` 方法将流中的每个对象映射为其名字属性,`distinct` 方法去重,最终通过 `collect` 方法转换为列表。
阅读全文