在Java中,可以使用Set集合来存储不重复的元素。Set接口的实现类有很多,如HashSet、LinkedHashSet和TreeSet等。这里以HashSet为例,介绍如何实现去重。
假设我们有一个类Person
,包含name
和age
两个属性:
public class Person { private String name; private int age; public Person(String name, int age) { this.name = name; this.age = age; } // getter和setter方法 public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }
现在,我们想要去除一个Person
对象列表中的重复元素,可以使用HashSet来实现:
import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Set; public class Main { public static void main(String[] args) { ListpersonList = new ArrayList<>(); personList.add(new Person("张三", 20)); personList.add(new Person("李四", 25)); personList.add(new Person("张三", 20)); // 重复的元素 personList.add(new Person("王五", 30)); Set personSet = new HashSet<>(personList); List uniquePersonList = new ArrayList<>(personSet); for (Person person : uniquePersonList) { System.out.println(person.getName() + " - " + person.getAge()); } } }
在这个例子中,我们首先创建了一个Person
对象列表personList
,然后使用HashSet的构造函数将列表转换为一个Set集合personSet
。由于HashSet不允许重复元素,所以重复的Person
对象会被自动去除。最后,我们将personSet
转换回ArrayList
,得到一个去除重复元素后的列表uniquePersonList
。