法:将list或者arraylist中的数据加载到linkedhashset中 然后在加载到list或者arraylist中
测试用例如下:
- public class TestSet {
- public static void main(String[] args) {
- List<Student> list1 = new ArrayList<Student>();
- list1.add(new Student("张三","12"));
- list1.add(new Student("张三","12"));
- list1.add(new Student("李四","12"));
- list1.add(new Student("王五","15"));
- list1.add(new Student("张三","12"));
- list1.add(new Student("张三","13"));
- System.out.println(list1.toString());
- Set<Student> set = new LinkedHashSet<Student>();
- set.addAll(list1);
- List<Student> list2 = new ArrayList<Student>();
- list2.addAll(set);
- System.out.println(list2.toString());
- }
- }
对象:
- public class Student {
- String name;
- String age;
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public String getAge() {
- return age;
- }
- public void setAge(String age) {
- this.age = age;
- }
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + ((age == null) ? 0 : age.hashCode());
- result = prime * result + ((name == null) ? 0 : name.hashCode());
- return result;
- }
- @Override
- public boolean equals(Object obj) {
- if (this == obj)
- return true;
- if (obj == null)
- return false;
- if (getClass() != obj.getClass())
- return false;
- Student other = (Student) obj;
- if (age == null) {
- if (other.age != null)
- return false;
- } else if (!age.equals(other.age))
- return false;
- if (name == null) {
- if (other.name != null)
- return false;
- } else if (!name.equals(other.name))
- return false;
- return true;
- }
- @Override
- public String toString() {
- return "Student [name=" + name + ", age=" + age + "]";
- }
- public Student(String name, String age) {
- super();
- this.name = name;
- this.age = age;
- }
- public Student() {
- // TODO Auto-generated constructor stub
- }
- }