本文主要讲述:集合工具类Apache之
org.apache.commons.collections4.SetUtils
上文介绍了关于ListUtils的实例,本文我们对SetUtils的部分用法进行演示。
Set<Integer> set1 = new HashSet<>(Arrays.asList(1, 2));
Set<Integer> set2 = new HashSet<>(Arrays.asList(1, 3));
boolean flag = SetUtils.isEqualSet(set1, set2);
输出:fasle
Set<Integer> set = new HashSet<>(Arrays.asList(1, 2));
int hashCode = SetUtils.hashCodeForSet(set);
输出:3
Set<String> set = SetUtils.predicatedSet(new HashSet<String>(), e -> e.length() >= 4);
set.add("123456");
输出:[123456]
set.add("123");
输出:IllegalArgumentException:
Cannot add Object '123' - Predicate 'com.cinc.crmzmj.utils.DateUtil$$Lambda$15/0x0000000800066c40@627551fb' rejected it
Set<Integer> set = SetUtils.transformedSet(new HashSet<Integer>(), num -> num + 1);
set.add(1);
输出:[2]
Set<Integer> set = new HashSet<>(Arrays.asList(1, 2));
set = SetUtils.unmodifiableSet(set);
set.add(3);
输出:JAVA.lang.UnsupportedOperationException
Set<Integer> set = new HashSet<>(Arrays.asList(1, 2));
set = SetUtils.synchronizedSet(set);
获取只读Set和获取线程安全的Set时,返回的新Set才是只读或线程安全的,原Set并不会发生改变。
大家有没有工作中遇到的报错或难点问题,可以评论区分享一下。