![2862372152b067b96cccdee1514ab604.png](https://i-blog.csdnimg.cn/blog_migrate/471d89b422a9ce35f2a3a5a31cbdd8c9.jpeg)
- 总结java中创建并写文件的5种方式
- 总结java从文件中读取数据的6种方法
- 总结java创建文件夹的4种方法及其优缺点
- 总结java中删除文件或文件夹的7种方法
- 总结java中文件拷贝剪切的5种方式
比如之前我已经写了上面的这些内容,如果对java基础知识总结系列感兴趣的同学可以关注我的博客(文末给出我的博客地址)。
一、本文梗概
这一篇文章我想写一下List集合元素去重的8种方法,实际上通过灵活的运用、排列组合不一定是8种,可能有18种方法。
- 对象元素整体去重的4种方法
- 按照对象属性去重的4种方法
为了在下文中进行测试内容讲解,我们先做一些初始化数据
public class ListRmDuplicate {
private List<String> list;
private List<Player> playerList;
@BeforeEach
public void setup() {
list = new ArrayList<>();
list.add("kobe");
list.add("james");
list.add("curry");
list.add("zimug");
list.add("zimug");
playerList= new ArrayList<>();
playerList.add(new Player("kobe","10000")); //科比万岁
playerList.add(new Player("james","32"));
playerList.add(new Player("curry","30"));
playerList.add(new Player("zimug","27")); // 注意这里名字重复
playerList.add(new Player("zimug","18")); //注意这里名字和年龄重复
playerList.add(new Player("zimug","18")); //注意这里名字和年龄重复
}
}
Player对象就是一个普通的java对象,有两个成员变量name与age,实现了带参数构造函数、toString、equals和hashCode方法、以及GET/SET方法。
二、集合元素整体去重
下文中四种方法对List中的String类型以集合元素对象为单位整体去重。如果你的List放入的是Object对象&#x