首页 > 其他分享 >apache集合工具类ListUtils

apache集合工具类ListUtils

时间:2023-12-03 22:14:54浏览次数:29  
标签:Arrays list1 List ListUtils list2 集合 apache asList

<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-collections4</artifactId>
    <version>4.4</version>
</dependency>

判断两集合是否相等

List<String> list1 = Arrays.asList("1", "2");
List<String> list2 = Arrays.asList("1", "3");
boolean flag = ListUtils.isEqualList(list1, list2);
System.out.println(flag);
//输出:false

集合合并(去重)

List<String> list1 = Arrays.asList("1", "2");
List<String> list2 = Arrays.asList("1", "3");
List<String> list3 = ListUtils.sum(list1, list2);
System.out.println(list3);
//输出:[2, 1, 3]

取并集

List<String> list1 = Arrays.asList("1", "2");
List<String> list2 = Arrays.asList("1", "3");
List<String> list3 = ListUtils.union(list1, list2);
//输出:[1, 2, 1, 3]

取交集

List<String> list1 = Arrays.asList("1", "2");
List<String> list2 = Arrays.asList("1", "3");
List<String> list3 = ListUtils.intersection(list1, list2);
//输出:[1]
List<String> list4 = ListUtils.retainAll(list1, list2);
//输出:[1]

取差集(集合1去除集合2中的所有元素)

List<String> list1 = Arrays.asList("1", "2");
List<String> list2 = Arrays.asList("1", "3");
List<String> list3 = ListUtils.subtract(list1, list2);
//输出:[2]
List<String> list4 = ListUtils.removeAll(list1, list2);
//输出:[2] 

生成固定类型列表

List<Object> list1 = Arrays.asList("1", "2");
List<Object> list3 = ListUtils.typedList(list1, String.class);
//输出:[1, 2]
list3.add(1);
//输出:java.lang.IllegalArgumentException: 
//Cannot add Object '1' - Predicate rejected it

生成固定大小列表

List<String> list1 = Arrays.asList("1", "2");
List<String> list2 = ListUtils.fixedSizeList(list1);
//输出:[1, 2]
list1.add("3");
//输出:java.lang.UnsupportedOperationException

给集合加锁

List<String> list1 = Arrays.asList("1", "2");
List<String> list2 = ListUtils.synchronizedList(list1);
//输出:[1, 2]

生成不可修改集合(不能增减元素,只能查询)

List<String> list1 = Arrays.asList("1", "2");
List<String> list2 = ListUtils.unmodifiableList(list1);
//输出:[1, 2]
list1.add("3");
//输出:java.lang.UnsupportedOperationException

 

标签:Arrays,list1,List,ListUtils,list2,集合,apache,asList
From: https://www.cnblogs.com/xfeiyun/p/17869344.html

相关文章

  • mapper 向后端传集合出错
    批量查询<selectid="selectGoods"parameterType="cn.com.xxx.xx.entity.Goods"resultMap="goodsResultMap">selectg.GOODS_ID,g.GOODS_NAME,g.GOODS_CODE,g.GOODS_DATE,g.GOODS_STATE,g.GOODS_NUM_STOCK,g.GOODS_PRICE,g.GO......
  • python基础-集合
    1、集合的创建用{}进行创建用内置函数set()进行创建示例代码#第一种创建方式s={1,2,3,3,4,5,6,7}print(s,type(s))#第二种创建方式s1=set(range(6))#根据范围进行集合的创建print(s1)s2=set([1,23,34,12,23])#将列表转换为为集合print(s......
  • 学习笔记4:JavaSE & API(集合)
    1、集合综述(1)定义:集合与数组一样,可以保存一组元素,并且提供了操作元素的相关方法,使用更方便。(2)java集合框架中相关接口java.util.Collection接口:所有集合的顶级接口。Collection下面有多种实现类,因此我们有更多的数据结构可供选择。java.util.List:线性表。是可重复集合,并且有......
  • Apache加密
    配置TLS加密的虚拟主机(443/TLS)SSl提供了3中服务,保证数据的安全传输认证用户和服务器,确保数据发送到正确的客户机和服务器;加密数据以防止数据中途被窃取;维护数据的完整性,确保数据在传输过程中不被改变客户使用https的URL访问Web服务器,要求与Web服务器建立SSL连接。Web服务器......
  • 什么叫做有序集合?
    有序集合是一种数据结构,其中元素是有序排列的。这种“有序”可以有不同的含义,通常指的是元素按照某种明确的顺序存放,这个顺序在集合被创建时就确定了,并且通常会保持不变。在不同的编程语言和上下文中,有序集合可以有不同的特性和实现方式。以下是有序集合的一些关键特征:顺序性:元素的......
  • 集合框架(三)ArrayList的常见使用
    ArrayList是什么?ArrayList是Java集合中的数组列表,实现了List接口,是用来存储数据的容器之一,底层的数据结构是数组。 ArrayList有什么特点?有序:按照顺序添加元素不唯一:同一元素可以存放多次查找和访问速度较快,增删元素较慢 ArrayList和LinkedList的区别有哪些?数据机构:Arr......
  • java集合框架(二)之LinkedList的常见使用
     常用的方法定义LinkedList对象  新增  删除 获取元素 修改 ......
  • java集合框架(二)LinkedList的常见使用
    LinkedList常用方法定义LinkedList对象LinkedList<String>list=newLinkedList<>(); 插入元素list.push("张三");//在此列表的前面插入元素list.addLast("新增到最后一个元素");//将指定的元素追加到此列表的末尾。list.addFirst("新增到第......
  • java集合框架(三)之ArrayList的常见使用
      常见方法语句  三种输出语法  for循环输出   迭代器输出  foreach循环输出   ......
  • Java使用三种方式循环输出Map集合
    先新建一个Map集合 1、通过entrySet获取到键值实现对象 2、通过keySet()获取键值的集合获取值3、迭代器 ......