【Java 300-42集】学习笔记
CollectionUtils类
其中封装了很多对于Java集合的操作和判断的方法,查阅了相关例子和资料,个人感觉可以在操作数据的时候使用,帮助我们实现很多功能,提高代码逼格,正在学习中,此文章就当是学习笔记吧。。。。
下载路径:可以去apache官网上的project中找到commons,也可以使用下面的URL
http://commons.apache.org/proper/commons-collections/download_collections.cgi commons-collections4-4.2-bin.zip
1.判断集合是否为空的两个方法,例子:
package test;
import java.util.ArrayList;
import java.util.List;
import org.apache.commons.collections4.CollectionUtils;
public class test1 {
public static void main(String[] args) {
List<Integer> list=new ArrayList<>();
list.add(1);
list.add(2);
System.out.println(CollectionUtils.isEmpty(list));
System.out.println(CollectionUtils.isNotEmpty(list));
}
}
运行结果:
false
true
2.一些常用的方法
package test;
import java.util.Arrays;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import org.apache.commons.collections4.CollectionUtils;
public class test1 {
@SuppressWarnings("deprecation")
public static void main(String[] args) {
List<Integer> a = Arrays.asList(1,2,3,4,5);
List<Integer> b = Arrays.asList(3,4,4,5,6,7);
System.out.println("取值-并集:"+CollectionUtils.union(a, b));
//此处应该是有去重复操作
System.out.println("取值-交集:"+CollectionUtils.intersection(a, b));
System.out.println("取值-交集:"+CollectionUtils.intersection(b, a));
System.out.println("取值-交集:"+CollectionUtils.retainAll(a, b));
System.out.println("取值-交集的补集:"+CollectionUtils.disjunction(a, b));
System.out.println("取值-交集的补集:"+CollectionUtils.disjunction(b, a));
//a中有,而b中没有的数据
System.out.println("取值-a与b的差值:"+CollectionUtils.subtract(a, b));
//b中有,而a中没有的数据
System.out.println("取值-b与a的差值:"+CollectionUtils.subtract(b, a));
List<Integer> c = Arrays.asList(1,2,3,4,5);
System.out.println("比较两个集合的值:"+CollectionUtils.isEqualCollection(a, b));
System.out.println("比较两个集合的值:"+CollectionUtils.isEqualCollection(a, c));
Collection<Integer> cc = CollectionUtils.unmodifiableCollection(c);
cc.add(234);
Iterator<Integer> ic = cc.iterator();
while (ic.hasNext()) {
System.out.println(ic.next());
}
}
}
运行结果:
取值-并集:[1, 2, 3, 4, 4, 5, 6, 7]
取值-交集:[3, 4, 5]
取值-交集:[3, 4, 5]
取值-交集:[3, 4, 5]
取值-交集的补集:[1, 2, 4, 6, 7]
取值-交集的补集:[1, 2, 4, 6, 7]
取值-a与b的差值:[1, 2]
取值-b与a的差值:[4, 6, 7]
比较两个集合的值:false
比较两个集合的值:true
Exception in thread "main" java.lang.UnsupportedOperationException
at org.apache.commons.collections4.collection.UnmodifiableCollection.add(UnmodifiableCollection.java:82)
at test.test1.main(test1.java:33)
Collections.unmodifiableCollection可以得到一个集合的镜像,它的返回结果是不可直接被改变,否则会提示错误
以上是一些常用的方法,CollectionUtils中还有一些其他的方法,有空我会继续总结。

浙公网安备 33010602011771号