要实现List集合去除重复对象,通常使用Set集合来进行操作。Set是集合类的一种,它的元素是无序的、唯一的。通过将List集合中的元素添加到Set中,去除了重复元素之后再将其添加回List集合即可实现去重。
以下是具体的实现步骤:
- 创建一个新的空的Set集合。
Set<Object> set = new HashSet<Object>();
- 遍历List集合中的每个元素,将其添加到Set集合中。
for (Object obj : list) {
set.add(obj);
}
- 将去重后的Set集合中元素再次添加回List集合。
list.clear();
list.addAll(set);
示例1:
//定义List集合
List<String> list = new ArrayList<String>();
list.add("apple");
list.add("banana");
list.add("banana");
list.add("pear");
//将List集合去重
Set<String> set = new HashSet<String>(list);
list.clear();
list.addAll(set);
System.out.println(list); //输出:[pear, apple, banana]
示例2:
//定义自定义对象Person并添加到List集合
class Person {
private String name;
private int age;
//构造方法和getter setter方法省略
}
List<Person> list = new ArrayList<Person>();
list.add(new Person("Tom", 25));
list.add(new Person("Lucy", 20));
list.add(new Person("Tom", 25));
list.add(new Person("Bob", 30));
//将List集合去重
Set<Person> set = new HashSet<Person>(list);
list.clear();
list.addAll(set);
for (Person p : list) {
System.out.println(p.getName() + " " + p.getAge());
}
//输出:
//Tom 25
//Lucy 20
//Bob 30