Java 对象list去重
时间: 2023-11-22 16:34:24 浏览: 85
你可以使用以下几种方法来去重一个 Java 对象的列表(List):
1. 使用 Set 接口:将列表转换为 Set,Set 不允许重复元素,然后再将 Set 转换回列表。
```java
List<Object> list = new ArrayList<>();
// 添加元素到列表
Set<Object> set = new HashSet<>(list);
list.clear();
list.addAll(set);
```
2. 使用 Java 8 的 Stream API:使用 distinct() 方法从流中去除重复元素,并将其收集回列表。
```java
List<Object> list = new ArrayList<>();
// 添加元素到列表
List<Object> distinctList = list.stream().distinct().collect(Collectors.toList());
```
3. 自定义比较器:实现一个自定义的比较器来判断对象是否重复,并使用 Collections 类的 sort() 方法对列表进行排序,然后使用循环遍历去重。
```java
List<Object> list = new ArrayList<>();
// 添加元素到列表
Comparator<Object> comparator = new Comparator<Object>() {
@Override
public int compare(Object obj1, Object obj2) {
// 自定义比较逻辑,判断对象是否相等
return 0;
}
};
Collections.sort(list, comparator);
List<Object> distinctList = new ArrayList<>();
Object previous = null;
for (Object current : list) {
if (!current.equals(previous)) {
distinctList.add(current);
}
previous = current;
}
```
这些方法可以帮助你去除 Java 对象列表中的重复元素。根据你的需求和具体情况选择合适的方法。
阅读全文