两个集合根据对象的某个元素去重
时间: 2024-09-20 21:13:52 浏览: 35
Java中List集合对象去重及按属性去重的8种方法
5星 · 资源好评率100%
在编程中,如果你有两个集合(例如 List 或 Set),并且你想根据它们共享的某些对象属性(元素)去除重复,通常你会使用某种形式的映射结合或者集合操作。这里是一个基本的例子:
假设你有两列表 `list1` 和 `list2`,都是包含自定义对象(比如 `Person` 类)的列表,并且你想基于 `Person` 的 `name` 属性去重:
```java
List<Person> list1 = ...; // 这里是一些 Person 对象
List<Person> list2 = ...; // 同样是一些 Person 对象
// 使用 Java Stream API
Set<Person> combinedSet = Stream.concat(list1.stream(), list2.stream())
.distinct() // 根据 name 属性去重
.collect(Collectors.toList());
```
这里的 `distinct()` 函数会根据 `Person` 对象的 `name` 属性值判断是否相等,从而创建一个新的不重复的集合。
阅读全文