CodeGym/Java Blog/Toto sisi/Java 中的 HashSet contains() 方法
John Squirrels
等級 41
San Francisco

Java 中的 HashSet contains() 方法

在 Toto sisi 群組發布
個成員

什麼是哈希集?

HashSet 是 Java 中的內置數據類型,通俗地說,您可以說“HashSet 是唯一元素的無序集合”。 看一個基本的例子:Java 中的 HashSet contains() 方法 - 2
圖 1:顯示 HashSet 的有效和無效示例的插圖
(在繼續之前,我們希望您了解術語哈希哈希表。) HashSet 擴展(擴展意味著一個類繼承自另一個類)AbstractSet並實現 Set 接口。在使用 HashSet 之前,您需要考慮以下幾點:
  • 它創建一個使用哈希表存儲的集合(集合表示單個對象單元,例如:ArrayList、LinkedList、Vector 等)。
  • HashSet 中不允許有重複值。
  • 您可以在 HashSet 中插入“空”值。
  • 不維護廣告訂單。因此,如果您希望按順序插入項目,那麼 HashSet 將不是您的要求的最佳選擇。
  • 如果您想在恆定時間(O(1))內獲取/檢索元素,那麼 HashSet 是您可以採用的最佳方法之一。

什麼是 HashSet.contains() 方法?

HashSet.contains()是一種布爾方法,用於檢查某個項目是否存在於 HashSet 的實例中。簡單的說,集合中是否包含想要的元素。Java.util.HashSet為其提供了高效的實現。讓我們向您展示如何有效地使用它來解決您的疑問。

contains() 與整數

import java.util.HashSet;

public class HashSetDemo {
   public static void main(String[] args) {

       // Declare your hash set
       HashSet digits = new HashSet();

       digits.add(0);
       digits.add(1);
       digits.add(2);
       digits.add(3);
       digits.add(4);
       digits.add(5);
       digits.add(null);
       System.out.println("All elements in hashset:\t" + digits);

       // Try adding duplicates
       digits.add(5);
       digits.add(2);
       System.out.println("After adding duplicates: \t" + digits);

       System.out.println("\n-------Using Contains Method-------");
       // Check out if the following digits exist in the hashset
       System.out.println("digits.contains(0) : " + digits.contains(0));
       System.out.println("digits.contains(2) : " + digits.contains(2));
       System.out.println("digits.contains(3) : " + digits.contains(7));
       System.out.println("digits.contains(null) : " + digits.contains(null));
   }
}
輸出
hashset中的所有元素:[0, null, 1, 2, 3, 4, 5] 添加重複後:[0, null, 1, 2, 3, 4, 5] ------使用包含方法- ------ digits.contains(0):true digits.contains(2):true digits.contains(3):false digits.contains(null):true

contains() 與字符串

看一下contains()方法和Strings的另一個例子。
import java.util.HashSet;
public class HashSetDemo {
     public static void main(String[] args) {

	  // Try working with another hash set of String type
	  HashSet rainbow = new HashSet();

        // Adding elements into HashSet using add()
        rainbow.add("Red");
        rainbow.add("Orange");
        rainbow.add("Yellow");
        rainbow.add("Green");
        rainbow.add("Blue");
        rainbow.add("Indigo");
        rainbow.add("Violet");


        // Let's traverse the hashset
        System.out.println("Traversing the rainbow:");
        for (String i : rainbow){
             System.out.println(i);
        }
       // Check out if rainbow contains this color or not
    	 System.out.println("\n-------Using Contains Method-------");

        System.out.println("rainbow.contains(\"Yellow\"): \t" + rainbow.contains("Yellow"));
        System.out.println("rainbow.contains(\"White\"): \t"  + rainbow.contains("White"));
        System.out.println("rainbow.contains(\"Lavender\"): \t"  + rainbow.contains("Lavender"));
        System.out.println("rainbow.contains(\"Red\"): \t"  + rainbow.contains("Red"));

        // Remove a color from rainbow using remove()
        rainbow.remove("Red");

        // Now consume  set contains() method again to check if it's still present
        System.out.println("rainbow.contains(\"Red\"): \t"  + rainbow.contains("Red"));

        System.out.println("\nAfter removing Red: " + rainbow);
	}
}
輸出
穿越彩虹:紅紫黃藍靛藍橙綠------使用Contains方法-------- rainbow.contains("Yellow"): true rainbow.contains("White"): false rainbow. contains("Lavender"): false rainbow.contains("Red"): true rainbow.contains("Red"): false 去除紅色後:[Violet, Yellow, Blue, Indigo, Orange, Green]
如您所見,輸出順序與將元素放入哈希集中的順序不同。

結論

HashSet 的contains()方法使用起來非常簡單。但是,如果有任何混淆,您可以隨時參考這篇文章。快樂編碼!:)
留言
  • 受歡迎
你必須登入才能留言
此頁面尚無留言