list里的对象去重
时间: 2023-08-25 13:05:10 浏览: 42
要对List中的对象进行去重,可以按照对象的某些属性进行去重。一种常见的方法是使用Set集合来实现去重。首先,需要重写对象的equals和hashCode方法,以确保对象的唯一性。然后,可以使用Set集合来去除重复的对象。以下是一个示例代码:
```java
// 假设List中的对象是Player对象,Player对象有一个属性name
List<Player> playerList = new ArrayList<>();
// 添加一些重复的Player对象
playerList.add(new Player("Alice"));
playerList.add(new Player("Bob"));
playerList.add(new Player("Alice"));
playerList.add(new Player("Charlie"));
Set<Player> playerSet = new HashSet<>(playerList);
playerList.clear();
playerList.addAll(playerSet);
System.out.println(playerList);
```
在上述代码中,我们首先创建了一个Set集合playerSet,并将List中的对象添加到该集合中。由于Set集合的特性是不允许重复元素,所以重复的对象会被自动去除。然后,我们清空原来的List,并将去重后的对象重新添加到List中。最后,我们输出去重后的List。
请注意,为了使Set集合能够正确去重,需要确保Player对象重写了equals和hashCode方法,以便根据对象的属性进行比较和判断唯一性。
#### 引用[.reference_title]
- *1* *2* [List集合对象去重及按属性去重的8种方法](https://blog.csdn.net/hanxiaotongtong/article/details/108442705)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
- *3* [List中对象属性去重的方法](https://blog.csdn.net/Tel_17674647975/article/details/127526531)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]