一、判斷集合是否為空集
判斷一個集合是否為空集,可以通過isEmpty()方法進行判斷。
Set<String> set = new HashSet<>(); if (set.isEmpty()) { System.out.println("Set is empty"); }
isEmpty()是Collection介面中的方法,因此對於List、Set、Queue等介面的實現類都可以使用該方法。當集合中的元素個數為0時,返回true,否則返回false。
除了使用isEmpty()方法,我們也可以使用集合的size()方法來進行判斷,如果元素個數為0,那麼表示該集合為空。
Set<String> set = new HashSet<>(); if (set.size() == 0) { System.out.println("Set is empty"); }
二、判斷集合是否為空collections
對於需要對集合進行判空的情況,可以使用Java開發包中的Collections類。該類提供了emptyXxx()方法,可以方便地創建空的集合。
List<String> list = Collections.emptyList(); Set<String> set = Collections.emptySet(); Map<String, String> map = Collections.emptyMap();
這樣創建出的集合是不可變的,也就是說不能往裡面添加任何元素。但是對於不能修改的集合,isEmpty()方法也可以正確判斷是否為空。
三、判斷集合是否為空的方法
除了使用isEmpty()和size()方法來判斷集合是否為空以外,Java還提供了以下方法:
1. Collections.frequency()
Collections.frequency()方法可以統計集合中指定元素出現的次數。如果指定元素為null,則表示集合中null值的個數。
List<String> list = new ArrayList<>(); list.add("a"); list.add("b"); int count = Collections.frequency(list, "c"); // count為0
對於只關注是否為空的情況,可以使用以下代碼判斷:
List<String> list = new ArrayList<>(); if (Collections.frequency(list, null) == list.size()) { System.out.println("List is empty"); }
2. Apache Commons CollectionUtils.isEmpty()
Apache Commons Collections是一個提供了很多實用工具集的庫,裡面包含了一個判斷集合是否為空的方法isEmpty()。
List<String> list = new ArrayList<>(); if (CollectionUtils.isEmpty(list)) { System.out.println("List is empty"); }
四、判斷集合是否為空的工具類
除了上述方法外,我們可以封裝一個判斷集合是否為空的工具類,使得代碼更加簡潔明了。
public class CollectionUtil { /** * 判斷集合是否為空 * * @param collection 集合類 * @param 泛型類型 * @return 如果集合為空,返回true;否則返回false */ public static <T> boolean isEmpty(Collection<T> collection) { return collection == null || collection.isEmpty(); } }
這樣,在使用時就可以直接調用該方法進行判斷。
List<String> list = new ArrayList<>(); if (CollectionUtil.isEmpty(list)) { System.out.println("List is empty"); }
五、判斷集合是否為子空間
有時候需要判斷一個集合是否是另一個集合的子空間,也就是說兩個集合元素是否完全相同,可以使用containsAll()方法進行判斷。
List<String> list1 = Arrays.asList("a", "b"); List<String> list2 = Arrays.asList("b", "a"); if (list1.containsAll(list2) && list2.containsAll(list1)) { System.out.println("List1 and list2 are equal"); }
六、判斷集合是否為空的最優方法
判斷集合是否為空,通常來說使用isEmpty()方法是最簡潔、最優的方法。Java的所有集合類都實現了該方法。
七、如何判斷集合是否為空
根據以上討論,可以總結出如何判斷集合是否為空的方法:
- isEmpty()方法
- size()方法
- Collections.frequency()方法
- Apache Commons CollectionUtils.isEmpty()方法
- 自定義工具類
八、判斷數組是否為空
除了集合,對於數組也有判斷是否為空的方法,可以通過數組的長度length屬性來進行判斷。
int[] array = {}; if (array.length == 0) { System.out.println("Array is empty"); }
對於數組也可以封裝一個判斷是否為空的工具類。
public class ArrayUtil { /** * 判斷數組是否為空 * * @param array 數組 * @param 泛型類型 * @return 如果數組為空,返回true;否則返回false */ public static <T> boolean isEmpty(T[] array) { return array == null || array.length == 0; } }
這樣,在使用時就可以直接調用該方法進行判斷。
String[] array = {}; if (ArrayUtil.isEmpty(array)) { System.out.println("Array is empty"); }
原創文章,作者:HXWKB,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/371175.html