JAVA中如何取出两个不同List对象(对象一致)中所有不同的对象的集合
来源:互联网 发布:天威网络工程公司 编辑:程序博客网 时间:2024/05/22 17:39
昨天开发的时候遇到一个需求,需要在两个不同的List对象中,取出所有不同的对象的集合,大家看的时候可能会觉得绕口,下面简单举例说明:
对象 Student
属性 id,name
两个集合
1、List<Student> lists1 = new ArrayList<Student>();
Student student1 = new Student();
student1.setId(1):
student1.setName("1");
lists1.add(student1);
Student student2 = new Student();
student2.setId(2):
student2.setName("2");
lists1.add(student2);
2、List<Student> lists2 = new ArrayList<Student>();
Student student3 = new Student();
student3.setId(1):
student3.setName("1");
lists2.add(student3);
可以看到 list1 和 list2 集合中的对象是相同的,现在的需求是比较 list1 和 list2 取出所有不同的对象集合,也就是 student2
在这里我们主要用到的方法是重写Student类中的 equals 和 hashcode 方法。把属性 id 和 name作为比较的key,这样就可以实现了。
判断的时候可以这样操作:
通过循环的时候判断,我这里只是提供一种参考的是方式,以少的集合作为循环的集合
for(int i=0;i<list2.size();i++){
if(! lists1.contains(lists2.get(i))){
//把对应的对象加入到返回的结果集List中去就可以了
}
}
以上就是我个人的心得,亲测可用。
- JAVA中如何取出两个不同List对象(对象一致)中所有不同的对象的集合
- Java 比较两个List的差异,并取出不同的对象
- js比较两个数组对象,取出不同的值
- 找出list中的不同元素、删除两个list中相同的对象
- List集合对象中按照不同属性大小排序
- 怎样获取一个集合中不同对象的同一个属性?
- java 如何获取得到两个list中不同的数据
- 通过java的反射从list中取出对象从而取出属性值
- java与c#中面向对象的不同实现
- Java中创建对象的5种不同方法
- Java中创建对象的5种不同方法
- Java中创建对象的5种不同方法
- java中Integer对象不同创建方法之间的区别
- Java中创建对象的5种不同方法
- Java中创建对象的5种不同方法
- Java 查找两个有复杂对象的集合中的不同元素和相同的元素
- java两个list中保存bean对象,找出其中某一属性不同的元素
- java两个list中保存bean对象,找出其中某一属性不同的元素
- 最大熵模型通俗理解和例子
- URL中的%22是什么意思
- Yii2 advanced 安装步骤
- android ImageView 播放动画
- 浏览器标签页icon
- JAVA中如何取出两个不同List对象(对象一致)中所有不同的对象的集合
- Android monkey的使用
- Linux查找含有某字符串的所有文件
- uboot移植-内存分布
- Java 将获取的阿拉伯数字转换成对应的中文
- Android学习随笔(3)------活动的生命周期
- 超值商品找券平台
- Prince and Princess UVA
- HttpsURLConnection实现SSL的GET/POST请求