Java基础学习: hutool之CollUtil集合操作工具类

文章目录

一、介绍

Hutool是一个Java工具类库,它简化了Java的开发,提供了很多实用的API。在Hutool中,对于集合(Collection)的操作提供了很多便捷的方法。

二、Hutool集合操作示例

1、判断是否为空:

java 复制代码
List<String> list = null;
boolean isEmpty = CollUtil.isEmpty(list); // true

2、判断是否非空

java 复制代码
List<String> list = new ArrayList<>();
boolean isNotEmpty = CollUtil.isNotEmpty(list); // false

3、集合是否包含某个元素

java 复制代码
List<String> list = CollUtil.newArrayList("a", "b", "c");
boolean contains = CollUtil.contains(list, "a"); // true

4、集合是否包含某些元素

java 复制代码
List<String> list = CollUtil.newArrayList("a", "b", "c");
boolean containsAll = CollUtil.containsAll(list, CollUtil.newArrayList("a", "b")); // true

5、集合是否不包含某些元素

java 复制代码
List<String> list = CollUtil.newArrayList("a", "b", "c");
boolean notContains = CollUtil.notContains(list, "d"); // true

6、两个集合的交集操作

java 复制代码
List<String> list1 = CollUtil.newArrayList("a", "b", "c");
List<String> list2 = CollUtil.newArrayList("b", "c", "d");
List<String> intersection = CollUtil.intersection(list1, list2); // ["b", "c"]

7、两个集合的并集操作

java 复制代码
List<String> list1 = CollUtil.newArrayList("a", "b", "c");
List<String> list2 = CollUtil.newArrayList("b", "c", "d");
List<String> union = CollUtil.union(list1, list2); // ["a", "b", "c", "d"]

8、两个集合的差集操作

java 复制代码
List<String> list1 = CollUtil.newArrayList("a", "b", "c");
List<String> list2 = CollUtil.newArrayList("b", "c", "d");
List<String> subtract = CollUtil.subtract(list1, list2); // ["a"]

9、集合元素是否相等

java 复制代码
List<String> list1 = CollUtil.newArrayList("a", "b", "c");
List<String> list2 = CollUtil.newArrayList("a", "b", "c");
boolean equals = CollUtil.equals(list1, list2); // true

10、集合转换为字符串,列表转为逗号分隔的字符串

java 复制代码
List<String> list = CollUtil.newArrayList("a", "b", "c");
String join = CollUtil.join(list, ", "); // "a, b, c"
相关推荐
麦兜*1 分钟前
Spring Boot整合Swagger 3.0:自动生成API文档并在线调试
java·spring boot·后端
云霄IT1 分钟前
centos7安装防火墙为项目开放服务器端口
服务器·网络·windows
Main. 241 分钟前
从0到1学习Qt -- Qt3D入门
开发语言·qt·学习
weixin_462446233 分钟前
Python+React 专为儿童打造的汉字学习平台:从学前到小学的智能汉字教育解决方案
python·学习·react.js
星火开发设计7 分钟前
C++ deque 全面解析与实战指南
java·开发语言·数据结构·c++·学习·知识
独自破碎E7 分钟前
什么是RabbitMQ中的死信队列?
java·rabbitmq·java-rabbitmq
码界奇点8 分钟前
基于Spring与Netty的分布式配置管理系统设计与实现
java·分布式·spring·毕业设计·源代码管理
计算机毕设指导69 分钟前
基于微信小程序的咖啡店点餐系统【源码文末联系】
java·spring boot·微信小程序·小程序·tomcat·maven·intellij-idea
Geoking.9 分钟前
【设计模式】外观模式(Facade)详解
java·设计模式·外观模式
不染尘.10 分钟前
Linux的基本管理及命令(上)
linux·windows·ssh