Hutool集合相关工具类CollUtil常用方法

两个集合的并集 针对一个集合中存在多个相同元素的情况,计算两个集合中此元素的个数,保留最多的个数 例如:集合1:[a, b, c, c, c],集合2:[a, b, c, c] 结果:[a, b, c, c, c],此结果中只保留了三个c
Params:
coll1 – 集合1
coll2 – 集合2
Type parameters:
<T> – 集合元素类型
Returns:
并集的集合,返回 ArrayList
public static <T> Collection<T> union(Collection<T> coll1, Collection<T> coll2);

两个集合的交集 针对一个集合中存在多个相同元素的情况,计算两个集合中此元素的个数,保留最少的个数 例如:集合1:[a, b, c, c, c],集合2:[a, b, c, c] 结果:[a, b, c, c],此结果中只保留了两个c
Params:
coll1 – 集合1
coll2 – 集合2
Type parameters:
<T> – 集合元素类型
Returns:
交集的集合,返回 ArrayList

public static <T> Collection<T> intersection(Collection<T> coll1, Collection<T> coll2);

计算集合的单差集,即只返回【集合1】中有,但是【集合2】中没有的元素,例如:
           subtract([1,2,3,4],[2,3,4,5]) -》 [1]
       
Params:
coll1 – 集合1
coll2 – 集合2
Type parameters:
<T> – 元素类型
Returns:
单差集

public static <T> Collection<T> subtract(Collection<T> coll1, Collection<T> coll2);

判断指定集合是否包含指定值,如果集合为空(null或者空),返回false,否则找到元素返回true
Params:
collection – 集合
value – 需要查找的值
Returns:
如果集合为空(null或者空),返回false,否则找到元素返回true
Throws:
ClassCastException – 如果类型不一致会抛出转换异常
NullPointerException – 当指定的元素 值为 null ,或集合类不支持null 时抛出该异常

public static boolean contains(Collection<?> collection, Object value) {
		return isNotEmpty(collection) && collection.contains(value);
	}

集合1中是否包含集合2中所有的元素,即集合2是否为集合1的子集
Params:
coll1 – 集合1
coll2 – 集合2
Returns:
集合1中是否包含集合2中所有的元素

public static boolean containsAll(Collection<?> coll1, Collection<?> coll2) {
		if (isEmpty(coll1)) {
			return isEmpty(coll2);
		}

		if (isEmpty(coll2)) {
			return true;
		}

		if (coll1.size() < coll2.size()) {
			return false;
		}

		for (Object object : coll2) {
			if (false == coll1.contains(object)) {
				return false;
			}
		}
		return true;
	}

行转列,合并相同的键,值合并为列表 将Map列表中相同key的值组成列表做为Map的value 是toMapList(Map)的逆方法 比如传入数据:
       [
        {a: 1, b: 1, c: 1}
        {a: 2, b: 2}
        {a: 3, b: 3}
        {a: 4}
       ]
       
结果是:
       {
         a: [1,2,3,4]
         b: [1,2,3,]
         c: [1]
       }
       
Params:
mapList – Map列表
Type parameters:
<K> – 键类型
<V> – 值类型
Returns:
Map

public static <K, V> Map<K, List<V>> toListMap(Iterable<? extends Map<K, V>> mapList) {
		return MapUtil.toListMap(mapList);
	}

列转行。将Map中值列表分别按照其位置与key组成新的map。 是toListMap(Iterable)的逆方法 比如传入数据:
       {
         a: [1,2,3,4]
         b: [1,2,3,]
         c: [1]
       }
       
结果是:
       [
        {a: 1, b: 1, c: 1}
        {a: 2, b: 2}
        {a: 3, b: 3}
        {a: 4}
       ]
       
Params:
listMap – 列表Map
Type parameters:
<K> – 键类型
<V> – 值类型
Returns:
Map列表

public static <K, V> List<Map<K, V>> toMapList(Map<K, ? extends Iterable<V>> listMap) {
		return MapUtil.toMapList(listMap);
	}

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: hutool是一个Java工具类库,提供了丰富的工具类来方便Java开发人员快速开发,其中也包括了针对集合工具类hutool集合工具类提供了丰富的API,包括对List、Queue、Stack、Map等集合数据结构的操作和处理。 其中,hutool提供的ListUtil工具类可以实现对List集合的排序、分页、去重等操作。QueueUtil和StackUtil工具类可以方便地对队列和栈进行push、pop等操作。MapUtil工具类则提供了map集合的常见操作,如put、get、remove等。 除了常见的集合类型,hutool还提供了TreeUtil工具类,可以方便的操作树型结构的集合数据。 hutool集合工具类的设计追求简洁易用,内部实现也采用了高效的算法。并且,hutool集合工具类的代码开源,易于修改和扩展。 综上,hutool集合工具类可以大大提高Java开发人员的开发效率和代码质量,是一款不可多得的Java工具库。 ### 回答2: hutool是一个Java工具包,其中包含了许多实用工具类。在其中,集合工具类对于Java程序员来说相当重要。 hutool中的集合工具类提供了简单、高效、易用的方法来操作集合对象。例如,可以使用ListUtil、SetUtil、MapUtil等工具类对List、Set、Map等集合进行快速操作,如转换、去重、排序、过滤、判空等。 其中,集合转换是hutool集合工具类的常见用途之一,可以将一个集合类型转换成另一种集合类型,比如将List转换成Set或Map,还可以指定Key和Value的转换器,让转换更加灵活和自由。同时,hutool集合工具类还提供了快捷的创建空集合和不可变集合方法,非常方便,也能避免空指针异常等问题。 另外,hutool集合工具类还具有比较高的通用性,可以应用在各类Java程序开发中,涵盖了Spring、Mybatis、Hibernate等框架,还比较适用于处理大数据量的集合操作。 总的来说,hutool集合工具类是一款非常实用的Java工具包,对于开发人员来说是不可或缺的。它简化了集合操作的流程,提高了代码的编写效率和可读性。如果你还没有使用过hutool集合工具类,不妨尝试一下,它一定会给你的开发工作带来便利。 ### 回答3: Hutool是一个Java工具类库,它为Java开发人员提供了很多实用的工具类,其中就包括集合工具类Hutool集合工具类提供了一系列实用的方法,可以使Java开发人员更加便捷地操作集合,提升了开发效率。 Hutool集合工具类包含了对List、Set、Map等Java集合的操作。其中,对List操作的方法包括list转为数组、按照元素属性排序、去重、过滤等;对Set操作的方法包括set转为数组、去重、求交集、判断子集等;对Map操作的方法包括取最大值、取最小值、map转为List、根据value排序、根据value取key等。 Hutool集合工具类中也提供了一些特殊的数据结构,例如MultiValueMap,它可以将一个key对应多个value的情况存储在同一个Map中。同时,Hutool还提供了一些便捷的工具方法,例如采用Lambda表达式过滤集合、统计集合元素个数、集合元素分组等。 Hutool集合工具类的使用非常简单,只需导入相应的工具类包,即可使用其中的方法。例如,使用ListUtil中的distinct方法去重List可以直接调用ListUtil.distinct(list)即可。另外,Hutool集合工具类中的方法都提供了详细的文档说明,使开发人员更容易理解和使用。 总之,Hutool集合工具类提供了很多实用的方法,可以帮助Java开发人员更加便捷地操作集合,提升开发效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不会理财的程序员不是好摄影师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值