java 使用stream提取list中对象的ordId属性并去重后转为List<String>
时间: 2024-09-09 10:09:36 浏览: 44
Java中List集合对象去重及按属性去重的8种方法
5星 · 资源好评率100%
在 Java 中,你可以使用 Stream API 结合 HashSet 或者 LinkedHashSet 来提取列表中对象的某个属性值(如 ordId),并去重后转换为 List<String>。这里假设有一个 User 类,其中包含 ordId 属性:
```java
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
class User {
private String ordId;
// 其他属性...
// 获取 ordId 的 getter 方法
public String getOrdId() {
return ordId;
}
}
List<User> userList = ... // 用户列表
// 使用 Stream API 提取 ordId 并去重
Set<String> uniqueIds = userList.stream()
.map(User::getOrdId) // 转换为字符串流,获取每个对象的 ordId
.collect(Collectors.toSet()); // 去重,转化为 Set
List<String> uniqueList = new ArrayList<>(uniqueIds); // 将 Set 转换回 List
```
`map()` 方法应用到每个 User 对象上,将 ordId 属性值转换为 String,然后 `collect(toSet())` 用于收集并去重。
阅读全文