java apache common CollectionUtils

CollectionUtils簡介

朱文吉 2020/09/29 09:36:24
1818

1.前言

在撰寫程式碼時經常會使用到collection的類別運用,apache commons CollectionUtils提供一些方法

讓我們可以方便使用,jar檔可上apache官網下載,例如https://commons.apache.org/proper/commons-collections/

以下介紹幾個較常使用的方法

2.1.判斷是否為空

import java.util.ArrayList;
import java.util.List;
import org.apache.commons.collections.CollectionUtils;

public class A1 {

	public static void main(String[] args) {
		List<String> list1 = new ArrayList<>();
		list1.add("A");
		list1.add("B");
		
		List<String> list2 = new ArrayList<>();
		List<String> list3 = null;
		
		System.out.println("list1="+CollectionUtils.isEmpty(list1));
		System.out.println("list2="+CollectionUtils.isEmpty(list2));
		System.out.println("list3="+CollectionUtils.isEmpty(list3));

	}

}

2.2執行結果

3.1.比較兩個集合是否相同

import java.util.ArrayList;
import java.util.List;
import org.apache.commons.collections.CollectionUtils;

public class A1 {

	public static void main(String[] args) {
		List<String> list1 = new ArrayList<>();
		list1.add("A");
		list1.add("B");
		
		List<String> list2 = new ArrayList<>();
		list2.add("A");
		list2.add("B");
		
		List<String> list3 = new ArrayList<>();
		list3.add("A");
		list3.add("C");
		
		System.out.println("list1&2="+CollectionUtils.isEqualCollection(list1, list2));
		System.out.println("list2&3="+CollectionUtils.isEqualCollection(list1, list3));

	}

}

3.2.執行結果

4.1.取得聯集,專屬list1或專屬list2或同屬兩者

import java.util.ArrayList;
import java.util.List;
import org.apache.commons.collections.CollectionUtils;

public class A1 {

	public static void main(String[] args) {
		List<String> list1 = new ArrayList<>();
		list1.add("A");
		list1.add("B");
		list1.add("C");
		list1.add("D");
		List<String> list2 = new ArrayList<>();
		list2.add("B");
		list2.add("C");
		list2.add("E");
		list2.add("F");
		
		System.out.println(CollectionUtils.union(list1, list2));

	}

}

4.2.執行結果

5.1.取得交集,同時屬於list1和list2

import java.util.ArrayList;
import java.util.List;
import org.apache.commons.collections.CollectionUtils;

public class A1 {

	public static void main(String[] args) {
		List<String> list1 = new ArrayList<>();
		list1.add("A");
		list1.add("B");
		list1.add("C");
		list1.add("D");
		
		List<String> list2 = new ArrayList<>();
		list2.add("B");
		list2.add("C");
		list2.add("E");
		list2.add("F");
		
		System.out.println(CollectionUtils.intersection(list1, list2));
	}
}

5.2.執行結果

6.1.list1和list2沒有共同的

import java.util.ArrayList;
import java.util.List;
import org.apache.commons.collections.CollectionUtils;

public class A1 {

	public static void main(String[] args) {
		List<String> list1 = new ArrayList<>();
		list1.add("A");
		list1.add("B");
		list1.add("C");
		list1.add("D");
		
		List<String> list2 = new ArrayList<>();
		list2.add("B");
		list2.add("C");
		list2.add("E");
		list2.add("F");
		
		System.out.println(CollectionUtils.disjunction(list1, list2));
	}
}

6.2.執行結果

7.1.差集,list1扣除list2相同的

import java.util.ArrayList;
import java.util.List;
import org.apache.commons.collections.CollectionUtils;

public class A1 {

	public static void main(String[] args) {
		List<String> list1 = new ArrayList<>();
		list1.add("A");
		list1.add("B");
		list1.add("C");
		list1.add("D");
		
		List<String> list2 = new ArrayList<>();
		list2.add("B");
		list2.add("C");
		list2.add("E");
		list2.add("F");
		
		System.out.println(CollectionUtils.subtract(list1, list2));
	}
}

7.2.執行結果

朱文吉