Java中取两个集合的并集、交加和差集
2017-04-07 13:25
585 查看
java如何求两个集合的交集和并集呢??
其实java的API中已经封装了方法。今天写个简单的例子测试一下:(例子中以java.util.ArrayList为例)
输出的结果依次是:
其实java的API中已经封装了方法。今天写个简单的例子测试一下:(例子中以java.util.ArrayList为例)
package org.suk; import java.text.MessageFormat; import java.util.ArrayList; import java.util.List; /** * Description: <br/> * @version V1.0 by 石冬冬-Heil Hitler on 2017/4/7 13:08 */ public class Test { /** * Description: 并集<br> * @version V1.0 2017/4/7 13:09 by 石冬冬-Heil Hilter(dd.shi02@zuche.com) * @return */ public static void union(){ List<String> list1 = new ArrayList<String>(){{ add("A"); add("B"); add("C"); }}; List<String> list2 = new ArrayList<String>(){{ add("C"); add("D"); add("B"); }}; //求出并集 list1.addAll(list2); System.out.println(list1); } /** * Description: 交集<br> * @version V1.0 2017/4/7 13:09 by 石冬冬-Heil Hilter(dd.shi02@zuche.com) * @return */ public static void intersection(){ List<String> list1 = new ArrayList<String>(){{ add("A"); add("B"); add("C"); }}; List<String> list2 = new ArrayList<String>(){{ add("C"); add("D"); add("B"); }}; //求出交集 list1.retainAll(list2); System.out.println(list1); } /** * Description: 差集<br> * @version V1.0 2017/4/7 13:09 by 石冬冬-Heil Hilter(dd.shi02@zuche.com) * @return */ public static void diff(){ List<String> list1 = new ArrayList<String>(){{ add("A"); add("B"); add("C"); }}; List<String> list2 = new ArrayList<String>(){{ add("C"); add("D"); add("B"); }}; //求出差集 list1.removeAll(list2); System.out.println(list1); } /** * Description: 对象集合的交集<br> * @version V1.0 2017/4/7 13:21 by 石冬冬-Heil Hilter(dd.shi02@zuche.com) * @param null * @return */ public static void test(){ List<Student> list1 = new ArrayList<Student>(){{ add(new Student("Linda",20)); add(new Student("Bruce",20)); add(new Student("Linda",21)); }}; List<Student> list2 = new ArrayList<Student>(){{ add(new Student("Linda",21)); add(new Student("Bruce",22)); add(new Student("Jack",21)); }}; //求出交集 list1.retainAll(list2); System.out.println(list1); } public static void main(String[] args) { union(); intersection(); diff(); test(); } /** * Description: 内部学生类<br> * @version V1.0 2017/4/7 13:20 by 石冬冬-Heil Hilter(dd.shi02@zuche.com) * @param null * @return */ public static class Student{ private String name; private int age; public Student(String name, int age) { this.name = name; this.age = age; } 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; } @Override public int hashCode() { return (this.getName() + String.valueOf(this.getAge())).hashCode(); } @Override public boolean equals(Object obj) { if(null == obj) return false; if(obj instanceof Student){ Student other = (Student)obj; return this.getName().equals(other.getName()) && this.getAge() == other.getAge(); } return false; } @Override public String toString() { return MessageFormat.format("[name:{0},age:{1}]",this.getName(),this.getAge()); } } }
输出的结果依次是:
[A, B, C, C, D, B] [B, C] [A] [[name:Linda,age:21]]
相关文章推荐
- java集合(交集,并集,差集)
- 两个DataTable之间的差集、交集、并集集合(Except、Intersect、Union)
- 集合遍历与删除,java list 交集 并集 差集 去重复并集
- java8 集合求差集、并集、交集的实例
- 两个集合用单链表存储,分别求出集合的差集和并集(单链表求差集并集)
- java求两个集合的交集和并集
- 求两个集合的交集、差集和并集
- java集合的交集,并集,差集
- java集合(交集,并集,差集)
- java8 集合求差集、并集、交集
- java集合(交集,并集,差集)
- javaSet集合的并集、差集、交集
- java集合操作-----求两个集合的交集和并集
- java集合操作-----求两个集合的交集和并集
- java 两个list 交集 并集 差集 去重复并集
- 获取两个DataTable之间的差集、交集、并集集合(Except、Intersect、Union)
- 两个整数集合A,B,求二者交集、并集、差集
- 求两个集合的交集,并集,差集
- Java set集合 交集,并集,差集
- java-----求两个list的交集、并集、和差集