利用到了Set集合的不可重复性。
先将数组转化为ArrayList类型,再讲所有元素添加到Set中去。由于Set是不能添加重复元素的,所以重复元素就自动删除了。
package test;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
public class 将Person数组中的重复元素去除 {
public static class Person{
String name;
int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
@Override
public boolean equals(Object obj) {
Person p = (Person) obj;
return this.name == p.name && this.age == p.age;
}
@Override
public int hashCode() {
return this.age ;
}
@Override
public String toString() {
// TODO Auto-generated method stub
return "姓名:" + name + " 年龄:" + age;
}
}
public static void main(String[] args) {
Person[] ps = new Person[] { new Person("张三", 15), new Person("李四", 16), new Person("王五", 17),
new Person("张三", 15) };
ArrayList<Person> list = new ArrayList<Person>(Arrays.asList(ps));
HashSet<Person> set = new HashSet<Person>();
set.addAll(list);
System.out.println(set);
}
}