ハッシュセットとは何ですか?
HashSet は Java の組み込みデータ型であり、平たく言えば、「HashSet は順序付けされていない一意の要素のコレクションである」と言えます。 基本的な例を見てみましょう。
- ストレージにハッシュ テーブルを使用するコレクション (コレクションとは、オブジェクトの単一ユニットを意味します。例: ArrayList、LinkedList、Vector など) を作成します。
- HashSet では重複する値は許可されません。
- HashSet には「null」値を挿入できます。
- 広告掲載オーダーは維持されません。したがって、項目を順番に挿入したい場合、要件を満たせば HashSet は不適切な選択になります。
- 一定時間(O(1))で要素を取得/取得したい場合は、HashSet が最善のアプローチの 1 つです。
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));
}
}
出力
ハッシュセット内のすべての要素: [0, null, 1, 2, 3, 4, 5] 重複を追加した後: [0, null, 1, 2, 3, 4, 5] -------Contains メソッドの使用- ------ 数字.含まれる(0) : 真 数字.含まれる(2) : 真 数字.含まれる(3) : 偽 数字.含まれる(null) : 真
contains() と文字列
Stringsを使用したcontains()メソッドの別の例を見てください。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 の虹。 contains("Lavender"): falserainbow.contains("Red"): truerainbow.contains("Red"): false 赤を削除した後: [紫、黄、青、藍、オレンジ、緑]
ご覧のとおり、出力の順序は、要素をハッシュセットに入れる順序とは異なります。
GO TO FULL VERSION