<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # Java `HashSet`類 > 原文: [https://www.programiz.com/java-programming/hashset](https://www.programiz.com/java-programming/hashset) #### 在本教程中,我們將學習 Java `HashSet`類。 我們將借助示例學習不同的哈希集方法和操作。 Java 集合框架的`HashSet`類提供了哈希表數據結構的功能。 它實現了[`Set`接口](/java-programming/set "Java Set Interface")。 ![Java HashSet class implements the Set interface.](https://img.kancloud.cn/89/57/8957f77c9a4af9ed625248e08e73ca04_376x558.png) * * * ## 創建一個`HashSet` 為了創建哈希集,我們必須首先導入`java.util.HashSet`包。 導入包后,就可以使用 Java 創建哈希集。 ```java // HashSet with 8 capacity and 0.75 load factor HashSet<Integer> numbers = new HashSet<>(8, 0.75); ``` 在這里,我們創建了一個名為`numbers`的哈希集。 注意,新的`HashSet<>(8, 0.75)`部分。 在此,第一個參數是`capcity`,第二個參數是`loadFactor`。 * **`capcity`** - 此哈希集的容量為 8。意味著,它可以存儲 8 個元素。 * **`loadFactor`** - 此哈希集的負載因子為 0.6。 這意味著,只要我們的哈希集填充了 60%,元素就會移到新哈希表中,該哈希表的大小是原始哈希表的兩倍。 **默認容量和負載系數** 創建哈希表而不定義其容量和負載因子是可能的。 例如, ```java // HashSet with default capacity and load factor HashSet<Integer> numbers1 = new HashSet<>(); ``` 默認, * 哈希集的容量將為 16 * 負載系數將為 0.75 * * * ## `HashSet`的方法 `HashSet`類提供了各種方法,使我們可以對設備執行各種操作。 * * * ## 將元素插入`HashSet` * `add()` - 將指定的元素插入到集合中 * `addAll()` - 將指定集合的??所有元素插入集合 例如, ```java import java.util.HashSet; class Main { public static void main(String[] args) { HashSet<Integer> evenNumber = new HashSet<>(); // Using add() method evenNumber.add(2); evenNumber.add(4); evenNumber.add(6); System.out.println("HashSet: " + evenNumber); HashSet<Integer> numbers = new HashSet<>(); // Using addAll() method numbers.addAll(evenNumber); numbers.add(5); System.out.println("New HashSet: " + numbers); } } ``` **輸出** ```java HashSet: [2, 4, 6] New HashSet: [2, 4, 5, 6] ``` * * * ## 訪問`HashSet`元素 要訪問哈希集的元素,我們可以使用`iterator()`方法。 為了使用此方法,我們必須導入`java.util.Iterator`包。 例如, ```java import java.util.HashSet; import java.util.Iterator; class Main { public static void main(String[] args) { HashSet<Integer> numbers = new HashSet<>(); numbers.add(2); numbers.add(5); numbers.add(6); System.out.println("HashSet: " + numbers); // Calling iterator() method Iterator<Integer> iterate = numbers.iterator(); System.out.print("HashSet using Iterator: "); // Accessing elements while(iterate.hasNext()) { System.out.print(iterate.next()); System.out.print(", "); } } } ``` **輸出**: ```java HashSet: [2, 5, 6] HashSet using Iterator: 2, 5, 6, ``` * * * ## 刪除元素 * `remove()` - 從集合中刪除指定的元素 * `removeAll()` - 從集合中刪除所有元素 例如: ```java import java.util.HashSet; class Main { public static void main(String[] args) { HashSet<Integer> numbers = new HashSet<>(); numbers.add(2); numbers.add(5); numbers.add(6); System.out.println("HashSet: " + numbers); // Using remove() method boolean value1 = numbers.remove(5); System.out.println("Is 5 removed? " + value1); boolean value2 = numbers.removeAll(numbers); System.out.println("Are all elements removed? " + value2); } } ``` **輸出**: ```java HashSet: [2, 5, 6] Is 5 removed? true Are all elements removed? true ``` * * * ## 集的操作 `HashSet`類的各種方法也可以用于執行各種設置操作。 * * * ## 并集 兩個執行兩個集合之間的聯合,我們可以使用`addAll()`方法。 例如, ```java import java.util.HashSet; class Main { public static void main(String[] args) { HashSet<Integer> evenNumbers = new HashSet<>(); evenNumbers.add(2); evenNumbers.add(4); System.out.println("HashSet1: " + evenNumbers); HashSet<Integer> numbers = new HashSet<>(); numbers.add(1); numbers.add(3); System.out.println("HashSet2: " + numbers); // Union of two set numbers.addAll(evenNumbers); System.out.println("Union is: " + numbers); } } ``` **輸出**: ```java HashSet1: [2, 4] HashSet2: [1, 3] Union is: [1, 2, 3, 4] ``` * * * ## 交集 要執行兩個集合之間的相交,我們可以使用`retainAll()`方法。 例如 ```java import java.util.HashSet; class Main { public static void main(String[] args) { HashSet<Integer> primeNumbers = new HashSet<>(); primeNumbers.add(2); primeNumbers.add(3); System.out.println("HashSet1: " + primeNumbers); HashSet<Integer> evenNumbers = new HashSet<>(); evenNumbers.add(2); evenNumbers.add(4); System.out.println("HashSet2: " + evenNumbers); // Intersection of two sets evenNumbers.retainAll(primeNumbers); System.out.println("Intersection is: " + evenNumbers); } } ``` **輸出**: ```java HashSet1: [2, 3] HashSet2: [2, 4] Intersection is: [2] ``` * * * ## 差集 要計算兩組之間的差異,我們可以使用`removeAll()`方法。 例如, ```java import java.util.HashSet; class Main { public static void main(String[] args) { HashSet<Integer> primeNumbers = new HashSet<>(); primeNumbers.add(2); primeNumbers.add(3); primeNumbers.add(5); System.out.println("HashSet1: " + primeNumbers); HashSet<Integer> oddNumbers = new HashSet<>(); oddNumbers.add(1); oddNumbers.add(3); oddNumbers.add(5); System.out.println("HashSet2: " + oddNumbers); // Difference between HashSet1 and HashSet2 primeNumbers.removeAll(oddNumbers); System.out.println("Difference : " + primeNumbers); } } ``` **輸出**: ```java HashSet1: [2, 3, 5] HashSet2: [1, 3, 5] Difference: [2] ``` * * * ## 子集 要檢查一個集合是否是另一個集合的子集,我們可以使用`containsAll()`方法。 例如, ```java import java.util.HashSet; class Main { public static void main(String[] args) { HashSet<Integer> numbers = new HashSet<>(); numbers.add(1); numbers.add(2); numbers.add(3); numbers.add(4); System.out.println("HashSet1: " + numbers); HashSet<Integer> primeNumbers = new HashSet<>(); primeNumbers.add(2); primeNumbers.add(3); System.out.println("HashSet2: " + primeNumbers); // Check if primeNumbers is a subset of numbers boolean result = numbers.containsAll(primeNumbers); System.out.println("Is HashSet2 is subset of HashSet1? " + result); } } ``` **輸出**: ```java HashSet1: [1, 2, 3, 4] HashSet2: [2, 3] Is HashSet2 is a subset of HashSet1? true ``` * * * ## `HashSet`的其他方法 | 方法 | 描述 | | --- | --- | | `clone()` | 創建`HashSet`的副本 | | `contains()` | 在`HashSet`中搜索指定的元素,并返回布爾結果 | | `isEmpty()` | 檢查`HashSet`是否為空 | | `size()` | 返回`HashSet`的大小 | | `clear()` | 從`HashSet`中刪除所有元素 | 要了解有關`HashSet`方法的更多信息,請訪問 [Java HashSet(Java 官方文檔)](https://docs.oracle.com/javase/7/docs/api/java/util/HashSet.html)。 * * * ## 為什么要使用`HashSet`? 在 Java 中,如果我們必須隨機訪問元素,則通常使用`HashSet`。 這是因為使用哈希碼訪問哈希表中的元素。 元素的哈希碼是唯一的標識,有助于標識哈希表中的元素。 `HashSet`不能包含重復的元素。 因此,每個哈希集元素都有一個唯一的哈希碼。 **注意**:哈希集未同步。 也就是說,如果多個線程同時訪問哈希集,并且其中一個線程修改了哈希集。 然后,它必須在外部同步。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看