1.org.apache.commons.collections.CollectionUtils;

使用这个工具类,帮我们处理一些集合的操作,非常方便

  1. //取并集
    public void testUnion(){
  2. String[] arrayA = new String[] { "A", "B", "C", "D", "E", "F" };
  3. String[] arrayB = new String[] { "B", "D", "F", "G", "H", "K" };
  4. List<String> listA = Arrays.asList(arrayA);
  5. List<String> listB = Arrays.asList(arrayB);
  6. //2个数组取并集
  7. System.out.println(ArrayUtils.toString(CollectionUtils.union(listA, listB)));
  8. //[A, B, C, D, E, F, G, H, K] }
  1. //取交集
  2. public void testIntersection(){
  3. String[] arrayA = new String[] { "A", "B", "C", "D", "E", "F" };
  4. String[] arrayB = new String[] { "B", "D", "F", "G", "H", "K" };
  5. List<String> listA = Arrays.asList(arrayA);
  6. List<String> listB = Arrays.asList(arrayB);
  7. //2个数组取交集
  8. System.out.println(ArrayUtils.toString(CollectionUtils.intersection(listA, listB)));
  9. //[B, D, F] }
  1. //取补集
  2. public void testDisjunction(){
  3. String[] arrayA = new String[] { "A", "B", "C", "D", "E", "F" };
  4. String[] arrayB = new String[] { "B", "D", "F", "G", "H", "K" };
  5. List<String> listA = Arrays.asList(arrayA);
  6. List<String> listB = Arrays.asList(arrayB);
  7. //2个数组取交集 的补集
  8. System.out.println(ArrayUtils.toString(CollectionUtils.disjunction(listA, listB)));
  9. //[A, C, E, G, H, K] }
  1. //取差集 -----------这个在项目中用到了
  2. public void testSubtract(){
  3. String[] arrayA = new String[] { "A", "B", "C", "D", "E", "F" };
  4. String[] arrayB = new String[] { "B", "D", "F", "G", "H", "K" };
  5. List<String> listA = Arrays.asList(arrayA);
  6. List<String> listB = Arrays.asList(arrayB);
  7. //arrayA扣除arrayB
  8. System.out.println(ArrayUtils.toString(CollectionUtils.subtract(listA, listB)));
  9. //[A, C, E] }

参考链接:http://www.jianshu.com/p/906d3577000b

开发中CollectionUtils处理集合的更多相关文章

  1. spring开发中常见错误集合,逐步添加

    1.关于jstl错误:原因,在jsp页面中使用了jstl标签库,但是却没有导入,可以将相应的jar包放在tomcat的lib目录下,一劳永逸 Java.lang.NoClassDefFoundErro ...

  2. Java开发中各种集合框架简介

    在大数据MapReduce作业开发中,我们经常会遇到一些大小表的join,这是如果这个小表足够“小”的话,我们可以使用进行“map-join-side”,这要就可以有效的降低reduce端的压力,但是 ...

  3. WEB开发中常用的正则表达式集合

    在计算机科学中,正则表达式用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串.在WEB开发中,正则表达式通常用来检测.查找替换某些符合规则的字符串,如检测用户输入E-mai格式是否正确,采集符 ...

  4. Java 开发中如何正确踩坑

    为什么说一个好的员工能顶 100 个普通员工 我们的做法是,要用最好的人.我一直都认为研发本身是很有创造性的,如果人不放松,或不够聪明,都很难做得好.你要找到最好的人,一个好的工程师不是顶10个,是顶 ...

  5. Android学习探索之Java 8 在Android 开发中的应用

    前言: Java 8推出已经将近2年多了,引入很多革命性变化,加入了函数式编程的特征,使基于行为的编程成为可能,同时减化了各种设计模式的实现方式,是Java有史以来最重要的更新.但是Android上, ...

  6. Java开发中的23种设计模式详解

    [放弃了原文访问者模式的Demo,自己写了一个新使用场景的Demo,加上了自己的理解] [源码地址:https://github.com/leon66666/DesignPattern] 一.设计模式 ...

  7. iOS开发中静态库制作 之.a静态库制作及使用篇

    iOS开发中静态库之".a静态库"的制作及使用篇 一.库的简介 1.什么是库? 库是程序代码的集合,是共享程序代码的一种方式 2.库的类型? 根据源代码的公开情况,库可以分为2种类 ...

  8. Java开发中的23种设计模式详解(转)

    设计模式(Design Patterns) ——可复用面向对象软件的基础 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了 ...

  9. Web 开发中很实用的10个效果【附源码下载】

    在工作中,我们可能会用到各种交互效果.而这些效果在平常翻看文章的时候碰到很多,但是一时半会又想不起来在哪,所以养成知识整理的习惯是很有必要的.这篇文章给大家推荐10个在 Web 开发中很有用的效果,记 ...

随机推荐

  1. 线程间的通信_多生产者多消费者问题_JDK1.5新特性_Lock

    对于同步代码块,对于锁的操作是隐式的但是在JDK1.5之前的这种方法效率有点低,判断会很多,后面升级之后有新的解决方案 jdk1.5以后将同步和锁封装成了对象,并将操作锁的隐式方式定义到了该对象中,将 ...

  2. 键值对的算子讲解 PairRDDFunctions

    1:groupByKey def groupByKey(): RDD[(K, Iterable[V])] 根据key进行聚集,value组成一个列表,没有进行聚集,所以在有shuffle操作时候避免使 ...

  3. Mysql优化_慢查询开启说明及Mysql慢查询分析工具mysqldumpslow用法讲解

    Mysql优化_慢查询开启说明及Mysql慢查询分析工具mysqldumpslow用法讲解   Mysql慢查询开启 Mysql的查询讯日志是Mysql提供的一种日志记录,它用来记录在Mysql中响应 ...

  4. 第一行代码 3-5 软件也要拼脸蛋-UI界面-更强大的滚动条- 聊天室

    动画 https://www.jianshu.com/p/4fc6164e4709 前面说过,RecyclerView可以设置列表中Item删除和添加的动画,在v7包中给我们提供了一种默认的Item删 ...

  5. PAT A1029 Median (25 分)——队列

    Given an increasing sequence S of N integers, the median is the number at the middle position. For e ...

  6. Objective-C 符号化

    符号化,顾名思义,就是把地址翻译成人能看懂的符号以及它们在文件中的位置,符号包括函数名和变量名等等. 1.什么地方有符号? 1)App Mach-O格式的二进制文件 2)DWARF(Debugging ...

  7. [01] AJAX

    1.概述 AJAX,"Asynchronous JavaScript And XML"的简称,即"异步的JavaScript和XML".AJAX的作用在于页面中 ...

  8. 办公室的远程传文件 的命令三种方式linux

    不同的Linux之间copy文件常用有3种方法: 第一种就是ftp,也就是其中一台Linux安装ftp Server,这样可以另外一台使用ftp的client程序来进行文件的copy. 第二种方法就是 ...

  9. 最近找工作,有招JAVA开发的可以联系我,如果不嫌弃我2年前用C,也可以联系我

    java涉及到的技术工具:HSF.Pandora.Notify.Metaq.Diamond.Tddl.ScheduleX.精卫.Switch.BCP.Tair.Hbase.Mysql.Ads.Tlog ...

  10. 【LeetCode232】 Implement Queue using Stacks★

    1.题目描述 2.思路 思路简单,这里用一个图来举例说明: 3.java代码 public class MyQueue { Stack<Integer> stack1=new Stack& ...