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"
相关推荐
Goldn.22 分钟前
Java核心技术栈全景解析:从Web开发到AI融合
java· spring boot· 微服务· ai· jvm· maven· hibernate
玄斎1 小时前
MySQL 单表操作通关指南:建库 / 建表 / 插入 / 增删改查
运维·服务器·数据库·学习·程序人生·mysql·oracle
李慕婉学姐1 小时前
【开题答辩过程】以《基于Android的出租车运行监测系统设计与实现》为例,不知道这个选题怎么做的,不知道这个选题怎么开题答辩的可以进来看看
java·后端·vue
m0_740043732 小时前
SpringBoot05-配置文件-热加载/日志框架slf4j/接口文档工具Swagger/Knife4j
java·spring boot·后端·log4j
编织幻境的妖2 小时前
SQL查询连续登录用户方法详解
java·数据库·sql
未若君雅裁2 小时前
JVM面试篇总结
java·jvm·面试
zdd567892 小时前
关于Windows 11 家庭中文版 25H2中ensp无法启动路由器,报40错的解决方法
windows
kk哥88992 小时前
C++ 对象 核心介绍
java·jvm·c++
招风的黑耳3 小时前
我用SpringBoot撸了一个智慧水务监控平台
java·spring boot·后端
xunyan62343 小时前
面向对象(下)-接口的理解
java·开发语言