`

JAVA 交集,差集,并集

    博客分类:
  • JAVA
 
阅读更多
本来是想用apache 的commons-collections

以下为MAVEN依赖:
 <dependency>
		<groupId>commons-collections</groupId>
		<artifactId>commons-collections</artifactId>
		<version>3.2.1</version>
	</dependency>    
 

后来网友们说不需要,直接用JDK的API就可以了,以下给出实现:


import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import org.apache.commons.collections.ListUtils;
public class TestList {

	public void Test(){
		  List list1=new ArrayList();
		  list1.add(1);
		  list1.add(2);
		  list1.add(3);
		  list1.add(4);
		  
		  List list2=new ArrayList();
		  list2.add(1);
		  list2.add(2);
		  list2.add(5);
		  list2.add(6);
		  List intersection = new ArrayList(list1);
		  print(intersection);
		  boolean is  = intersection.retainAll(list2); // 不需要用APATCH的包,intersection里面放的就是交集.
		  System.out.println("intersection");
		  print(intersection);
		  List  subtractList = new  ArrayList(list1);
	
		  boolean ischaji = subtractList.removeAll(list2); // 结果是subtractList里放的是差集.
		  System.out.println("substarct 差集");
		  print(subtractList);
		
		  
		  List Listunion = new  ArrayList(list1);
		  boolean isunion = Listunion.addAll(list2); // 结果是LIST1放的是有重复并集
		  System.out.println("union");
		  print(Listunion);
		  
		  
		  //以下求无重复并集,未排序.
		  List ListSigleUnion = new  ArrayList(list1);
		  boolean issigelunio = ListSigleUnion.removeAll(list2);
		  issigelunio =  ListSigleUnion.addAll(list2);
		
		  System.out.println("sigle union");
		  print(ListSigleUnion);
		 
		 }
		 
	  private void print (Collection o)
	  {
		  Iterator it = o.iterator();
	        while(it.hasNext()) {
	            Object obj = it.next();
	            System.out.println(obj.toString());
	        }
	  }
	 public static void main(String[] args) {
		 TestList test=new TestList();
	     test.Test();
	 }
}


简单看了下apache 的包,打算还是用GOOGLE的吧,因为前者时间太久远了.
分享到:
评论

相关推荐

    JAVA获取两个数据量较大的ArrayList的交集、差集以及并集

    JAVA获取两个数据量较大的ArrayList的交集、差集以及并集,记录一下以便查阅。JAVA获取两个数据量较大的ArrayList的交集、差集以及并集,记录一下以便查阅。JAVA获取两个数据量较大的ArrayList的交集、差集以及并集...

    java数组求交集,并集,差集

    求java数组的交集,并集,差集 实现方法简单但很实用

    java8 集合求差集、并集、交集的实例

    下面小编就为大家分享一篇java8 集合求差集、并集、交集的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

    java 容器取交集、并集、补集、差集示例

    java 容器取交集、并集、补集、差集示例

    Java计算交集,差集,并集的方法示例

    主要介绍了Java计算交集,差集,并集的方法,结合实例形式简单分析了java集合运算的简单操作技巧,需要的朋友可以参考下

    java求集合的并集、交集、补集、差集和对称差集

    写得比较简单,随便看看就好 该代码是离散数学的一些简单运算

    java常用并集交集使用.doc

    本文将详细探讨Java中如何实现并集、交集和差集的操作,以及FastJSON在转换对象时可能遇到的问题及其解决方案。 首先,让我们关注Java集合的并集(Union)操作。在Java的`java.util`包中,`Set`接口提供了合并两个...

    用java的TreeSet写的一个求并集算法

    在Java编程中,集合框架是...在实际应用中,`TreeSet`不仅适用于求并集,还可以用于求交集、差集等集合操作,是Java集合框架中的一个重要工具。了解和熟练掌握`TreeSet`的特性和操作方法对于提升Java编程能力至关重要。

    离散数学作业 JAVA实现集合及其运算

    离散数学作业:JAVA实现BitArray形式的集合(用HashSet实现)及其运算(交集,并集,差集)

    数据结构课程设计之集合运算

    在这个设计中,我们将探讨如何利用各种数据结构实现集合的基本操作,如并集、交集、差集等。 首先,我们要理解集合的基本概念。集合是由一组具有某种特定属性的对象组成的整体,这些对象称为集合的元素。在计算机...

    java中计算集合的交差并集示例代码

    今天突然想Java如何计算集合的交差并集,主要是看Python语言的时候想起来的。下面这篇文章主要给大家介绍了关于java中计算集合的交差并集的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面...

    离散数学集合间的运算 GUI界面

    可实现集合间的交集,差集、对称差集、并集,还有补集的运算。

    两集合比较返回值

    比较两集合,返回两集合的补集、交集、差集、并集

    java课程设计报告收集.pdf

    问题描述是实现两个集合(A和B)的交集、并集和差集运算,并输出结果。集合元素可以是字母、整数或字符串,它们的大小和长度由数组表示。设计中需要定义数组存储集合元素,构造方法处理运算,并输出运算结果。算法...

    3_求差集_

    集合的操作是基于数学中的集合论概念,其中包括并集、交集以及差集等。本主题将深入探讨差集的概念,以及如何在编程中实现两个集合的差集。 **差集(Difference Set)**是集合论中的一个重要概念,它指的是在一个...

    TreeMap<K,V>类以及LinkedList<E>

    有集合A={1,2,3,4}和B={1,3,7,9,11},编写一个应用程序输出A和B交集、并集和差集 7_5.有10个硬盘,有两个重要的属性:价格和容量。编写一个应用程序,使用TreeMap,V&gt;类,分别按照价格和容量排序并输出10个硬盘的...

    java操作redis所需jar包五个

    这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是...

    Java redis五种数据类型在Java中的详细使用

    集合存储不重复的元素,支持交集、并集和差集等操作。使用`sadd()`添加元素,`smembers()`获取所有元素。 ```java jedis.sadd("set1", "element1", "element2"); Set&lt;String&gt; set1 = jedis.smembers("set1"); `...

    实验一集合交并差.zip

    在本实验中,我们将深入探讨数据结构中的集合操作,包括集合的交集、并集和差集。这些基本概念是计算机科学,特别是算法和数据结构领域的重要组成部分。实验标题为"实验一集合交并差.zip",暗示我们将通过实际操作来...

    傲盾.pdf_python面试

    傲盾.pdf_python面试 Python 是一种广泛应用于数据科学、人工智能、...本文总结了 Python 相关的知识点,包括线程和进程的区别、如何保证线程安全、编程实现 list 转 dict、编程实现两个 list 的交集、并集、差集等。

Global site tag (gtag.js) - Google Analytics