ホームページ  >  記事  >  Java  >  Javaのハッシュセット

Javaのハッシュセット

WBOY
WBOYオリジナル
2024-08-30 16:20:45883ブラウズ

set インターフェイスは、バックアップとしてハッシュ テーブルを持ち、HashMap のインスタンスである HashSet クラスによって実装されます。ただし、このクラスは時間の経過に伴う要素の順序を保証しません。この HashSet クラスでは null 要素が許可されており、削除、追加などの操作の時間パフォーマンスを提供します。要素はハッシュ関数によってバケット間で分散されることが前提となっています。

無料ソフトウェア開発コースを始めましょう

Web 開発、プログラミング言語、ソフトウェア テスト、その他

構文

public class HashSet<E> extends AbstractSet<E> implements Set<E>, Cloneable, Serializable

Java HashSet のコンストラクター

Java HashSet クラスは、いくつかのコンストラクターで構成されています。それらは次のとおりです:

  • HashSet(): デフォルトの HashSet は、このコンストラクター HashSet() を使用して構築できます。
  • HashSet(int Capacity): ハッシュセットの容量は、このコンストラクター HashSet(int Capacity) を使用して、指定された整数の容量に初期化できます。ハッシュセットに要素を追加し続けると、ハッシュセットの容量が自動的に増加します。
  • HashSet(int Capacity, floatloadFactor): ハッシュセットの容量は、このコンストラクター HashSet( int 容量、float 負荷係数).
  • HashSet(Collection c): コレクション c の要素は、このコンストラクターを使用してハッシュセットに初期化されます HashSet(Collection c)

Java HashSet を実装するメソッド

Java HashSet クラスは、いくつかのメソッドで構成されます。それらは次のとおりです:

  • add(E e): 特定の要素がセットに存在しない場合、このメソッド Add(E e) を使用してその要素がセットに追加されます。
  • clear(): このメソッド Clear() を使用して、セットからすべての要素が削除されます。
  • clone(): このメソッド Clone() を使用して、ハッシュセットのインスタンスの浅いコピーが返されます。要素自体はクローンを作成できません。
  • contains(Object o): 指定された要素がセット内に存在する場合、このメソッド Contains(object o) は true を返します。
  • isEmpty(): セット内に要素がない場合、このメソッド isEmpty() は true を返します。
  • iterator(): このメソッド Iterator() を使用して、設定された要素の反復子が返されます。
  • remove(Object o): 指定された要素がセット内に存在する場合、このメソッド Remove(object o) はその指定された要素を削除します。
  • size(): セット内の要素の数は、このメソッド Size() を使用して返されます。
  • spliterator(): 要素に対する遅延バインディングと高速スプリッテレーターは、このメソッド Spliterator() を使用してセットが作成されます。

Java で HashSet を実装する例

以下は Java で HashSet を実装する例です:

例 #1

ハッシュセットを作成し、作成された新しいセットに新しい要素を追加します。

コード:

import java.util.HashSet;
import java.util.Set;
//A class Example is created
public class Example {
public static void main(String[] args) {
// A hashset is created
Set<String> months = new HashSet<>();
// New elements are added to the hashset
months.add("January");
months.add("Febraury");
months.add("March");
months.add("April");
months.add("May");
months.add("June");
months.add("July");
months.add("August");
months.add("September");
months.add("October");
months.add("November");
months.add("December");
System.out.println(months);
}
}

出力:

Javaのハッシュセット

例 #2

コレクションと Hashset(collection c) コンストラクターの使用方法を示します。

コード:

import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
//A class Example is created
public class Example {
public static void main(String[] args)
{
// A hashset is created
List<Integer> Divby4 = new ArrayList<>();
Divby4.add(4);
Divby4.add(8);
Divby4.add(12);
Divby4.add(16);
Divby4.add(20);
List<Integer> Divby2 = new ArrayList<>();
Divby2.add(2);
Divby2.add(4);
Divby2.add(6);
Divby2.add(8);
Divby2.add(10);
// A hashset is created from another collection Divby4
Set<Integer> Divby4Or2 = new HashSet<>(Divby4);
// Adding the elements of divby2 to the existing hashset
Divby4Or2.addAll(Divby2);
System.out.println(Divby4Or2);
}
}

出力:

Javaのハッシュセット

例 #3

ハッシュセットが空かどうかの確認、ハッシュセット内の要素数の確認、ハッシュセット内に要素が存在するかどうかの確認など、ハッシュセットに対する操作をデモンストレーションする Java プログラム。

コード:

import java.util.HashSet;
import java.util.Set;
//A class Example is created
public class Example {
public static void main(String[] args)
{
// A hashset is created
Set<String> rivers = new HashSet<>();
// performing isempty operation on the set to check if it is empty
System.out.println("Are there no elements in rivers set? : " + rivers.isEmpty());
rivers.add("Kaveri");
rivers.add("Ganga");
rivers.add("Yamuna");
rivers.add("Godavari");
// Checking the size of the hashset
System.out.println("The count of rivers in the hashset are " + rivers.size());
// checking if an element is present in the hashset
String Name = "Ganga";
if(rivers.contains(Name)) {
System.out.println(Name + " is present in the rivers hashset.");
} else {
System.out.println(Name + " is not present in the rivers hashset.");
}
}
}

出力:

Javaのハッシュセット

例 #4

ハッシュセットから 1 つの要素を削除し、別のコレクションに属するすべての要素を削除し、ハッシュセットから特定の条件を満たす要素を削除し、ハッシュセットからすべての要素を削除する Java プログラム。

コード:

import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
//A class Example is created
public class Example {
public static void main(String[] args)
{
// A hashset is created
Set<Integer> num = new HashSet<>();
num.add(2);
num.add(3);
num.add(4);
num.add(5);
num.add(6);
num.add(7);
num.add(8);
num.add(9);
num.add(10);
System.out.println("Numbers added to the hashset are : " + num);
// An element from the hashset is removed. False is returned if that element doesnt     exists in the hashset
boolean Remove = num.remove(5);
System.out.println("After remove the number 5 from the hashset, the remaining elemnts are => " + num);
// all the elements that belong to a different collection are removed from the hashset
List<Integer> Squares = new ArrayList<>();
Squares.add(4);
Squares.add(9);
num.removeAll(Squares);
System.out.println("After removing all the elements that belong to a different collection => " + num);
// Elements matching a certain condition is removed from the hashset
num.removeIf(num1 -> num1 % 2 == 0);
System.out.println("After removing all the elements matching a certain condition is removed from the hashset => " + num);
// Clearing the hashset
num.clear();
System.out.println("After clearing the hashset => " + num);
}
}

出力:

Javaのハッシュセット

結論

このチュートリアルでは、ハッシュセットの定義、ハッシュセットを作成するための構文、ハッシュセットのコンストラクター、ハッシュセットのメソッド、およびハッシュセットを作成するためのプログラミング例、新しく作成されたハッシュセットに要素を追加するなどのハッシュセットの概念を理解します。ハッシュセット、既存のハッシュセットから要素を削除し、ハッシュセット内の要素をチェックします。

以上がJavaのハッシュセットの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。