Spring Boot 内置工具类 CollectionUtils

本文介绍了Spring实用工具包中的集合工具类CollectionUtils的功能和使用方法,包括集合判断和操作工具,如判断集合是否为空、判断集合中是否包含特定元素等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、集合 CollectionUtils

1.类
import org.springframework.util.CollectionUtils;
2.集合判断工具
// 判断 List/Set 是否为空
boolean isEmpty(Collection<?> collection)
// 判断 Map 是否为空
boolean isEmpty(Map<?,?> map)
// 判断 List/Set 中是否包含某个对象
boolean containsInstance(Collection<?> collection, Object element)
// 以迭代器的方式,判断 List/Set 中是否包含某个对象
boolean contains(Iterator<?> iterator, Object element)
// 判断 List/Set 是否包含某些对象中的任意一个
boolean containsAny(Collection<?> source, Collection<?> candidates)
// 判断 List/Set 中的每个元素是否唯一。即 List/Set 中不存在重复元素
boolean hasUniqueObject(Collection<?> collection)

测试:

List<String> list = Lists.newArrayList("1","2","3","3","5");
List<String> list1 = Lists.newArrayList("1","2");
List<String> list2 = Lists.newArrayList("1");
List<String> list6 = Lists.newArrayList("6","7");
Map<String,String> map = Maps.newHashMap();


// boolean isEmpty(Collection<?> collection)  判断 List/Set 是否为空
CollectionUtils.isEmpty(list);
// 输出:false

// boolean isEmpty(Map<?,?> map)  判断 Map 是否为空
CollectionUtils.isEmpty(map);
// 输出:true

// boolean containsInstance(Collection<?> collection, Object element)  判断 List/Set 中是否包含某个对象
CollectionUtils.containsInstance(list,"1");
// 输出:true

// boolean containsAny(Collection<?> source, Collection<?> candidates)  判断 List/Set 是否包含某些对象中的任意一个
CollectionUtils.containsAny(list,list1);
// 输出:true
CollectionUtils.containsAny(list,list6);
// 输出:false

// boolean hasUniqueObject(Collection<?> collection)  判断 List/Set 中的每个元素是否唯一。即 List/Set 中不存在重复元素
CollectionUtils.hasUniqueObject(list);
// 输出:false
CollectionUtils.hasUniqueObject(list2);
// 输出:false
3.集合操作工具
3.1.mergeArrayIntoCollection
  • 将 Array 中的元素都添加到 List/Set 中
  • 方法
 <E> void mergeArrayIntoCollection(Object array, Collection<E> collection) 
  • 案例
String[] arr = {"1", "2"};
List<String> list = new ArrayList<String>() {{
    add("A");
    add("B");
    add("C");
}};
CollectionUtils.mergeArrayIntoCollection(arr, list); 

//输出:["A", "B", "C", "1", "2"]

3.2.mergePropertiesIntoMap
  • 将 Properties 中的键值对都添加到 Map 中
  • 方法
 <K,V> void mergePropertiesIntoMap(Properties props, Map<K,V> map)
  • 案例
Map<String,String> map = Maps.newHashMap();
        map.put("a","1");
        map.put("b","2");
Properties properties = new Properties();
properties.setProperty("c","3");
CollectionUtils.mergePropertiesIntoMap(properties,map);
System.out.println(map.toString());

//输出:{a=1, b=2, c=3}

3.3.firstElement
  • 返回第一个元素
  • 案例
ArrayList<Object> list1 = new ArrayList<Object>() {{
    add(123);
    add(22);
    add(234);
}};

Object o = CollectionUtils.firstElement(list1);
System.out.println(o);   

//输出:123

3.4.findFirstMatch
  • 返回参数 candidates 中第一个存在于参数 source 中的元素
  • 方法
<E> E findFirstMatch(Collection<?> source, Collection<E> candidates)
  • 案例
ArrayList<Object> list1 = new ArrayList<Object>() {{
    add("1");
    add("2");
    add("3");
}};

ArrayList<Object> list2 = new ArrayList<Object>() {{
    add("1");
    add("2");
    add("2");
    add("2");
    add("3");
}};

Object firstMatch = CollectionUtils.findFirstMatch(list1, list2);

//输出:"1"

3.5.findCommonElementType
  • 返回集合中元素的类型
  • 如果一个集合中有多种类型的元素的话,会返回null
  • 案例
ArrayList<Object> list1 = new ArrayList<Object>() {{
    
    // 如果把下面的注释解开,集合中就会有多种类型的元素,就会返回null
    // add("1");
    // add("2");
    add(123);
    add(22);
    add(234);
}};

Class<?> commonElementType = CollectionUtils.findCommonElementType(list1);
System.out.println(commonElementType);  // class java.lang.Integer

//输出:class java.lang.Integer

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值