您好,欢迎来到品趣旅游知识分享网。
搜索
您的当前位置:首页Spring Boot 内置工具类 CollectionUtils

Spring Boot 内置工具类 CollectionUtils

来源:品趣旅游知识分享网

一、集合 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

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- pqdy.cn 版权所有 赣ICP备2024042791号-6

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务