<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>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # Java `HashSet`教程 原文:http://zetcode.com/java/hashset/ Java `HashSet`教程顯示了如何使用 Java `HashSet`集合。 ## Java `HashSet` `HashSet`是一個不包含重復元素的集合。 此類為基本操作(添加,刪除,包含和調整大小)提供恒定的時間性能。 `HashSet`不提供元素的排序。 `HashSet`沒有用于檢索元素的`get()`方法。 `HashSet`實現`Set`接口。 `Set`是一個沒有重復的集合。 該接口對數學集合抽象進行建模。 ## Java `HashSet`構造器 * `HashSet()` - 構造一個默認的空集。 * `HashSet(int initialCapacity)` - 使用給定的初始容量構造一個新的空集。 當元素添加到`HashSet`時,容量會自動增長。 * `HashSet(int initialCapacity, float loadFactor)` - 使用給定的初始容量和負載因子構造一個新的空集。 * `HashSet(Collection<? extends E> c)` - 構造一個新集合,其中包含指定集合的??元素。 `E`是元素的類型。 ## Java `HashSet`方法 下表提供了幾種`HashSet`方法。 | 修飾符和類型 | 方法 | 描述 | | --- | --- | --- | | `void` | `clear()` | 從集合中刪除所有元素。 | | `Object` | `clone()` | 返回`HashSet`實例的淺表副本:元素本身未克隆。 | | `boolean` | `contains(Object o)` | 集合為空,則返回`true`。 | | `boolean` | `add(E e)` | 如果指定的元素尚不存在,則將其添加到該集合中。 | | `boolean` | `remove(Object o)` | 從該集合中刪除指定的元素(如果存在)。 | | `boolean` | `removeAll(Collection<?> c)` | 從該集合中刪除指定集合中包含的所有元素。 | | `Iterator<E>` | `iterator()` | 返回此集合中元素的迭代器。 | | `int` | `size()` | 返回此集合中的元素數。 | 在本教程中,我們將使用其中的幾種方法。 ## Java `HashSet`創建 用`new`關鍵字創建`HashSet`。 ```java Set<String> brands = new HashSet<>(); ``` 尖括號之間的元素類型。 由于類型推斷,因此不必在聲明的右側提供類型。 ## Java `HashSet`添加元素 `add()`方法用于將元素添加到集合中。 ```java brands.add("Pepsi"); ``` 參數是要添加到集合中的元素。 ## Java `HashSet`確定容量 `size()`方法返回集合中的元素數。 ```java int nOfElements = brands.size(); ``` ## Java `HashSet`示例 I 下面的示例創建一個`HashSet`,確定其大小,并將所有元素打印到控制臺。 `HashSetSize.java` ```java package com.zetcode; import java.util.HashSet; import java.util.Set; public class HashSetSize { public static void main(String[] args) { Set<String> brands = new HashSet<>(); brands.add("Wilson"); brands.add("Nike"); brands.add("Volvo"); brands.add("IBM"); brands.add("IBM"); int nOfElements = brands.size(); System.out.format("The set contains %d elements%n", nOfElements); System.out.println(brands); } } ``` 在代碼示例中,我們創建了一個品牌`HashSet`。 每個品牌都必須是唯一的。 例如,不能有兩個 IBM 公司注冊。 ```java brands.add("IBM"); brands.add("IBM"); ``` 甚至以為我們嘗試兩次添加一個品牌,但一組僅包含一個 IBM 品牌。 ```java int nOfElements = brands.size(); ``` 我們確定`brands`集的大小。 ```java System.out.println(brands); ``` 所有元素都將打印到控制臺。 ```java The set contains 4 elements [Nike, Volvo, IBM, Wilson] ``` 這是示例的輸出。 ## Java `HashSet isEmpty()` `isEmpty()`方法檢查集合中是否包含任何元素。 ```java brands.isEmpty(); ``` 參數是要從此集中刪除的對象(如果存在)。 ## Java `HashSet`刪除元素 可以使用`remove()`和`removeAll()`方法刪除`HashSet`中的元素。 ```java brands.remove("Pepsi"); ``` `remove()`方法從集中刪除指定的元素(如果存在)。 ```java brands.removeAll(collection); ``` 使用`removeAll()`,可以從`HashSet`中刪除參數集合中包含的所有元素。 ## Java `HashSet`示例 II 在下面的示例中,我們介紹`add()`,`remove()`,`removeAll()`和`isEmpty()`方法。 `HashSetRemove.java` ```java package com.zetcode; import java.util.HashSet; import java.util.Set; public class HashSetRemove { public static void main(String[] args) { Set<String> brands = new HashSet<>(); brands.add("Wilson"); brands.add("Nike"); brands.add("Volvo"); brands.add("Kia"); brands.add("Lenovo"); Set<String> brands2 = new HashSet<>(); brands2.add("Wilson"); brands2.add("Nike"); brands2.add("Volvo"); System.out.println(brands); brands.remove("Kia"); brands.remove("Lenovo"); System.out.println(brands); brands.removeAll(brands2); System.out.println(brands); if (brands.isEmpty()) { System.out.println("The brands set is empty"); } } } ``` 該示例構建品牌的`HashSet`并從中刪除元素。 ```java System.out.println(brands); ``` 初始`HashSet`被打印到控制臺。 ```java brands.remove("Kia"); brands.remove("Lenovo"); System.out.println(brands); ``` 我們用`remove()`刪除兩個元素,并將`brands`的內容打印到控制臺。 ```java brands.removeAll(brands2); System.out.println(brands); ``` 最后,我們從第一組中刪除第二組中包含的所有元素。 ```java if (brands.isEmpty()) { System.out.println("The brands set is empty"); } ``` 如果`brands`設置為空,我們將向終端打印一條消息。 ```java [Nike, Lenovo, Kia, Volvo, Wilson] [Nike, Volvo, Wilson] [] The brands set is empty ``` This is the output of the example. ## Java `HashSet clear()` `clear()`方法從集合中刪除所有元素。 ```java brands.clear(); ``` 該方法沒有參數。 ## Java `HashSet contains()` 如果集合包含指定的元素,則`contains()`方法返回`true`。 ```java brands.contains("Volvo"); ``` 參數是要測試其是否存在于該集合中的元素。 ## Java `HashSet`示例 III 在下面的示例中,我們使用`add()`,`contains()`,`clear()`和`isEmpty()`方法。 `HashSetContains.java` ```java package com.zetcode; import java.util.HashSet; import java.util.Set; public class HashSetContains { public static void main(String[] args) { Set<String> brands = new HashSet<>(); brands.add("Wilson"); brands.add("Nike"); brands.add("Volvo"); brands.add("Kia"); brands.add("Lenovo"); if (brands.contains("Wilson")) { System.out.println("The set contains the Wilson element"); } else { System.out.println("The set does not contain the Wilson element"); } if (brands.contains("Apple")) { System.out.println("The set contains the Apple element"); } else { System.out.println("The set does not contain the Apple element"); } brands.clear(); if (brands.isEmpty()) { System.out.println("The set does not contain any elements."); } } } ``` 在示例中,我們檢查集合中是否存在兩個元素。 ```java if (brands.contains("Wilson")) { System.out.println("The set contains the Wilson element"); } else { System.out.println("The set does not contain the Wilson element"); } ``` 我們檢查集合中是否存在`"Wilson"`品牌,并相應地打印一條消息。 ```java The set contains the Wilson element The set does not contain the Apple element The set does not contain any elements. ``` This is the output of the example. ## Java `HashSet`迭代與`forEach()` 我們使用 Java8 `forEach()`方法來迭代`HashSet`的元素。 `forEach()`方法對集合中的每個元素執行給定的操作,直到所有元素都已處理或該操作引發異常。 `HashSetForEach.java` ```java package com.zetcode; import java.util.HashSet; import java.util.Set; public class HashSetForEach { public static void main(String[] args) { Set<String> brands = new HashSet<>(); brands.add("Wilson"); brands.add("Nike"); brands.add("Volvo"); brands.add("Kia"); brands.add("Lenovo"); brands.forEach(e -> System.out.println(e)); } } ``` 使用`forEach()`方法,我們遍歷該集合并將其元素打印到控制臺。 ## 使用迭代器的 Java `HashSet`迭代 迭代器是用于迭代集合的對象。 使用`iterator()`檢索迭代器。 `HashSetForEach.java` ```java package com.zetcode; import java.util.HashSet; import java.util.Iterator; import java.util.Set; public class HashSetIterator { public static void main(String[] args) { Set<String> brands = new HashSet<>(); brands.add("Wilson"); brands.add("Nike"); brands.add("Volvo"); brands.add("Kia"); brands.add("Lenovo"); Iterator<String> it = brands.iterator(); while (it.hasNext()) { String element = it.next(); System.out.println(element); } } } ``` 該代碼示例遍歷`HashSet`的所有元素,并將它們打印到控制臺。 ## Java 使用增強的`for`循環迭代`HashSet` Java 5 中引入的增強的`for`循環可用于對`HashSet`進行迭代。 `HashSetEnhancedFor.java` ```java package com.zetcode; import java.util.HashSet; import java.util.Set; public class HashSetEnhancedFor { public static void main(String[] args) { Set<String> brands = new HashSet<>(); brands.add("Wilson"); brands.add("Nike"); brands.add("Volvo"); brands.add("Kia"); brands.add("Lenovo"); for (String brand: brands) { System.out.println(brand); } } } ``` 在該示例中,我們迭代具有增強的`for`循環的`HashSet`。 ```java for (String brand: brands) { System.out.println(brand); } ``` 在每個`for`循環中,將一個新元素分配給`brand`變量。 在本教程中,我們介紹了 Java `HashSet`集合。 您可能也對相關教程感興趣:[Java `HashMap`教程](/java/hashmap/),[Java `ArrayList`教程](/articles/javaarraylist/),[Java `static`關鍵字](/java/statickeyword/),[Java 中的`HashMap`迭代](/java/hashmapiterate/) ,[Java8 `forEach`教程](/articles/java8foreach/),[用 Java 讀取文本文件](/articles/javareadtext/),[用 Java 讀寫 ICO 圖像](/articles/javaico/),[Java 教程](/lang/java/)和[用 Java 顯示圖像](/java/displayimage/)。
                  <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>

                              哎呀哎呀视频在线观看