找出list中的不同元素、删除两个list中相同的对象
2011-12-19 10:29
459 查看
package com.test; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.List; /** * * 找出两个list中不同的元素 * @author leiwei 2011-12-14 * */ public class NoEqualsElement { public static void main(String[] args) { List<String> list1 = new ArrayList<String>(); List<String> list2 = new ArrayList<String>(); list1.add("1"); list1.add("3"); list1.add("8"); list1.add("9"); list2.add("2"); list2.add("3"); list2.add("7"); for(String s2:list1) { boolean flag = false; for(String s1:list2) { if(s2.equals(s1)) { flag = true; break; } } if(!flag){ System.out.println(s2); } } } }
package com.test; import java.util.ArrayList; import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.Set; import com.model.Student; /** * 重写对象Student的equals方法 * 只要age相等 对象就相等 * * 删除两个集合中 相同的对象只保留一个 * @author leiwei 2011-12-19 * */ public class ListOBJ { public static void main(String[] args) { Set<Student> setStudent = new HashSet<Student>(); List<Student> list1 = new ArrayList<Student>(); List<Student> list2 = new ArrayList<Student>(); Student s1 = new Student(); s1.setAge("10"); list1.add(s1); Student s2 = new Student(); s2.setAge("20"); list1.add(s2); Student s3 = new Student(); s3.setAge("20"); list2.add(s3); Student s4 = new Student(); s4.setAge("30"); list2.add(s4); /** * 我们知道set集合,中的元素不会重复 * * 将连个对象集合放进去,自然就会排出重复的 * * 对象(前提Student 对象重写了equals方法) */ setStudent.addAll(list1); setStudent.addAll(list2); //输出 测试看是否 排出成功 System.out.println(setStudent.size()); Iterator<Student> iterator = setStudent.iterator(); while (iterator.hasNext()) { Student s = iterator.next(); System.out.println(s.getAge()); } } }
package com.model; public class Student { private String age; public String getAge() { return age; } public void setAge(String age) { this.age = age; } //重写equals方法只要age相等,我们就认为对象两个相等 @Override public boolean equals(Object obj) { if(obj instanceof Student){ Student st=(Student) obj; return (age.equals(st.age)); }else{ return super.equals(obj); } } @Override public int hashCode() { return age.hashCode(); } }
相关文章推荐
- 找出list中的不同元素、删除两个list中相同的对象
- java两个list中保存bean对象,找出其中某一属性不同的元素
- java两个list中保存bean对象,找出其中某一属性不同的元素
- 高效的找出两个List中的不同元素
- JAVA两个数组间元素的比较(找出相同或者不同元素)
- JAVA两个数组间元素的比较(找出相同或者不同元素)
- java找出2个集合相同和不同的元素(以及去除List中的重复元素)
- 高效的找出两个List中的不同元素
- java找出2个集合相同和不同的元素(以及去除List中的重复元素)
- 高效的找出两个List中的不同元素
- 比较两个List元素是否相同,查找出两个list的不同元素
- 关于两个List如何快速高效去除相同的元素,保留不同的元素
- Android 两个ArrayList找出相同元素及单个ArrayList删除元素
- 高效的找出两个List中的不同元素
- 高效的找出两个List中的不同元素
- Java 查找两个有复杂对象的集合中的不同元素和相同的元素
- 高效的找出两个List中的不同元素
- 高效的找出两个List中的不同元素
- 两个有序整形数组找出二者相同的元素和不同的元素
- 高效找出两个List中不同的元素