网站首页 > java教程 正文
本文主要讲述:集合工具类Apache之org.apache.commons.collections.ListUtils
对于集合的操作,Apache提供了很多工具类,如:CollectionUtils、ListUtils、SetUtils、MapUtils等,本文主要列举ListUtils的一些用法。
一、判断两集合是否相等
List<String> list1 = Arrays.asList("1", "2");
List<String> list2 = Arrays.asList("1", "3");
boolean flag = ListUtils.isEqualList(list1, list2);
输出:false
二、集合合并(去重)
List<String> list1 = Arrays.asList("1", "2");
List<String> list2 = Arrays.asList("1", "3");
List<String> list3 = ListUtils.sum(list1, list2);
输出:[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
点赞永无BUG![耶]
猜你喜欢
- 2024-12-08 干掉复杂的工具类,国产Java工具类库 Hutool 很香!
- 2024-12-08 Java判空,Optional和工具类真香?还是if(obj == null)更靠谱?
- 2024-12-08 100个Java工具类之25:Java工具包Hutool(下)
- 2024-12-08 100个Java工具类之40:对象工具类Apache之ObjectUtils
- 2024-12-08 JDK8中新增的Optional工具类真的很好用哦,建议收藏
- 2024-12-08 100个Java工具类之8:java.util包下的Collections
- 2024-12-08 100个Java工具类之24:强大的Java工具包Hutool(上)
- 2024-12-08 Java常用的几种属性拷贝工具类使用总结
- 2024-12-08 开源谷歌java工具类-guava(非常实用)
- 2024-12-08 Arrays工具类常用方法【Java编程基础】
你 发表评论:
欢迎- 06-04C++优先级调度队列(Priority Queue)
- 06-04数据结构与算法-优先队列(优先队列 数组实现)
- 06-04什么是优先队列?(优先队列原理)
- 06-04终于有架构大牛把分布式系统概念讲明白了,竟然用了足足800页
- 06-04分布式事物如何保证接口请求顺序性?
- 06-04微服务下分布式事务模式的详细对比
- 06-04彻底掌握分布式事务2PC、3PC模型(分布式事务 三阶段)
- 06-04分布式事务最全详解(看这篇就够了)
- 最近发表
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)