HashSet 和 TreeSet 都是 Java 集合框架中的 Set 類型。Set 是一種沒有重復元素的集合。HashSet 內(nèi)部維護一個哈希表,用于支持插入、刪除和尋找元素的操作。TreeSet 則內(nèi)部維護一棵二叉搜索樹,用于排序和尋找元素。
// 示例 HashSet Set<String> set = new HashSet<>(); set.add("apple"); set.add("banana"); set.add("orange"); set.add("apple"); System.out.println(set.size()); // 輸出 3 System.out.println(set.contains("banana")); // 輸出 true set.remove("orange"); System.out.println(set.size()); // 輸出 2
在上面的代碼中,我們首先創(chuàng)建了一個 HashSet 類型的 set 對象。接著,我們通過 add 方法向 set 中加入了三個元素:apple、banana 和 orange。由于 HashSet 不支持重復元素,因此第二個 add 方法加入重復元素 apple 時會被忽略。我們可以通過 size 方法獲取 set 中元素的個數(shù)。此外,contains 方法可以用來判斷 set 中是否包含指定元素,remove 方法則可以用來刪除指定元素。
// 示例 TreeSet Set<Integer> set = new TreeSet<>(); set.add(3); set.add(1); set.add(2); System.out.println(set); // 輸出 [1, 2, 3] System.out.println(set.contains(2)); // 輸出 true set.remove(1); System.out.println(set); // 輸出 [2, 3]
在上面的代碼中,我們首先創(chuàng)建了一個 TreeSet 類型的 set 對象。接著,我們通過 add 方法將三個整數(shù)加入 set 中。由于 TreeSet 內(nèi)部維護了一棵二叉搜索樹,因此 set 中的元素在插入時會按照大小關系進行排序。我們可以通過打印 set 對象來看到 set 中元素的排序結果。contains 方法和 remove 方法的使用和 HashSet 類似。