首页 > 编程语言 >java常用的工具类之CollectionUtils

java常用的工具类之CollectionUtils

时间:2023-03-20 15:45:37浏览次数:39  
标签:常用 java List ArrayList CollectionUtils add new false

org.apache.commons.collections4.CollectionUtils

1.判断集合是否为空或者不为空

// 为空
CollectionUtils.isEmpty(null): true
CollectionUtils.isEmpty(new ArrayList()): true  
CollectionUtils.isEmpty({a,b}): false
// 不为空
CollectionUtils.isNotEmpty(null): false
CollectionUtils.isNotEmpty(new ArrayList()): false
CollectionUtils.isNotEmpty({a,b}): true

2.并集CollectionUtils.union(listA,listB)

String[] arrayA = new String[] { "A", "B", "C", "D", "E", "F" };  
String[] arrayB = new String[] { "B", "D", "F", "G", "H", "K" };
List<String> listA = Arrays.asList(arrayA);
List<String> listB = Arrays.asList(arrayB);
//2个数组取并集 [A, B, C, D, E, F, G, H, K]
System.out.println(ArrayUtils.toString(CollectionUtils.union(listA, listB)));

3.交集CollectionUtils.intersection(listA, listB)

String[] arrayA = new String[] { "A", "B", "C", "D", "E", "F" };  
String[] arrayB = new String[] { "B", "D", "F", "G", "H", "K" };
List<String> listA = Arrays.asList(arrayA);
List<String> listB = Arrays.asList(arrayB);
// 2个数组取交集 [B, D, F]
System.out.println(ArrayUtils.toString(CollectionUtils.intersection(listA, listB)));
// 补集、差集 略

4.集合是否为空或不为空

// 集合是否为空
CollectionUtils.isEmpty(new ArrayList<>()); // true
CollectionUtils.isEmpty(null); // true
List<Person> boy = new ArrayList<>();
boy.add(new Girl());
CollectionUtils.isEmpty(boy); // false
// 集合是否不为空
CollectionUtils.isNotEmpty(new ArrayList<>()); // false
CollectionUtils.isNotEmpty(null); // false
List<Person> boy = new ArrayList<>();
boy.add(new Girl());
CollectionUtils.isNotEmpty(boy); // true

5.集合是否相等

class Person{
  // ...
}
class Girl extends Person{
  // ...
}

List<Integer> first = new ArrayList<>();
List<Integer> second = new ArrayList<>();
first.add(1);
first.add(2);
second.add(2);
second.add(1);
Girl goldGirl = new Girl();
List<Person> boy1 = new ArrayList<>();
boy1.add(new Girl());
List<Person> boy2 = new ArrayList<>();
boy2.add(new Girl());
List<Person> boy3 = new ArrayList<>();
boy3.add(goldGirl);
List<Person> boy4 = new ArrayList<>();
boy4.add(goldGirl);
// 比较两集合值
System.out.println(CollectionUtils.isEqualCollection(first,second));   //true
System.out.println(CollectionUtils.isEqualCollection(first,boy1));   //false
System.out.println(CollectionUtils.isEqualCollection(boy1,boy2));   //false
System.out.println(CollectionUtils.isEqualCollection(boy3,boy4));   //true

标签:常用,java,List,ArrayList,CollectionUtils,add,new,false
From: https://www.cnblogs.com/AlwaysStudying/p/17236497.html

相关文章

  • JAVA并发
    并发三要素:可见性:一个线程对共享变量的修改,另一个线程能马上看到(CPU缓存引起)原子性:一个操作或者多个操作,要么全部执行并且执行的过程不会被任何因素打断,要么就都不执行。......
  • java方法-定义及调用
    方法的定义及调用定义:Java的方法类似于其它语言的函数,是一段用来完成特定功能的代码片段,一般情况下,定义一个方法包含以下语法:方法包含一个方法头和一个方法体,下面是......
  • java网络编程
    初始网络编程常见浏览器的架构有些比较大型的软件这2种架构都会兼顾2种架构的优缺点比较B/S架构,以网页游戏为例画面烂C/S架构在c/s架构中,安装包中已经有......
  • java-线程之间的协作
      一、线程之间的协作:join()classJoinExample{privateclassAextendsThread{@Overridepublicvoidrun(){System.out.pri......
  • 前端常用库—nanoid(唯一标识字符串)
    nanoid库和uuid库一样都可以生成uuid,但是nanoid相比uuid要更轻量级,​​​https://github.com/ai/nanoid​​使用nanoid的使用1.在项目目录下打开终端,下载安装nanoid库npmi......
  • java 根据word xml模板生成word(个人v2版本)
    这里用的是poi相关jar包以及freemarker插值技术实现,poi相关jar包这里不再述说1,编辑word并保存为xml其中需要动态输出的内容使用${xxx}代替,xxx是你的java类属性值,如:年龄:${age......
  • Linux 常用命令学习(ubuntu系统)
    系统Ubuntu18.04服务端相关文档《服务端ubuntu学习过程》,《vue代码上服务nginx》1.创建新用户输入ls/home/,可以看到用户目录被成功创建了sudouseradd-r-m-s/b......
  • Linux常用解压与压缩命令
    .tar文件#仅打包,并非压缩tar-xvfFileName.tar#解包tar-cvfFileName.tarDirName#将DirName和其下所有文件(夹)打包123.gz文件#.gzgunzipFileName......
  • pip介绍及常用命令
    pip简介pip是Python官方的包管理器,可以方便地安装、升级和卸载Python包。pip常用命令显示版本和路径pip--version获取帮助pip--help升级pip和升级包pi......
  • Linux常用命令
    个人简介:云计算网络运维专业人员,了解运维知识,掌握TCP/IP协议,每天分享网络运维知识与技能。座右铭:海不辞水,故能成其大;山不辞石,故能成其高。个人主页:​​小李会科技的主页​​......