Java セット インターフェイス
Java セット インターフェイス
このチュートリアルでは、Java の Set インターフェイスとそのメソッドについて学習します。
Set
Java Collections
のインターフェース フレームワークは、Java で数学セットの機能を提供します。 Collection
を拡張します
List
とは異なり インターフェイス、セットに重複する要素を含めることはできません。
Set を実装するクラス
Set
以降 はインターフェースなので、そこからオブジェクトを作成することはできません.
Set
の機能を使用するには インターフェイスでは、これらのクラスを使用できます:
- ハッシュセット
- LinkedHashSet
- EnumSet
- ツリーセット
これらのクラスは Collections
で定義されています フレームワークと Set
の実装
Set を拡張するインターフェース
Set
インターフェイスは、これらのサブインターフェイスによっても拡張されます:
- ソートセット
- NavigableSet
セットの使い方
Java では、java.util.Set
をインポートする必要があります。 Set
を使用するためのパッケージ .
// Set implementation using HashSet
Set<String> animals = new HashSet<>();
ここでは、Set
を作成しました。 動物と呼ばれる . HashSet
を使用しました Set
を実装するクラス
設定方法
Set
インターフェイスには Collection
のすべてのメソッドが含まれています インターフェース。 Collection
だからです Set
のスーパーインターフェースです .
Collection
の一般的に使用されるメソッドの一部 Set
でも利用可能なインターフェース インターフェイスは次のとおりです:
- add() - 指定された要素をセットに追加します
- addAll() - 指定されたコレクションのすべての要素をセットに追加します
- イテレータ() - セットの要素に順番にアクセスするために使用できる反復子を返します
- remove() - セットから指定された要素を削除します
- removeAll() - 別の指定されたセットに存在するセットからすべての要素を削除します
- retainAll() - 別の指定されたセットにも存在するセット内のすべての要素を保持します
- クリア() - セットからすべての要素を削除します
- サイズ() - セットの長さ (要素数) を返します
- toArray() - セットのすべての要素を含む配列を返します
- contains() -
true
を返します セットに指定された要素が含まれている場合 - containsAll() -
true
を返します セットに指定されたコレクションのすべての要素が含まれている場合 - hashCode() - ハッシュ コード値 (セット内の要素のアドレス) を返します
Set
のその他のメソッドについて学ぶには インターフェイスについては、Java Set (公式の Java ドキュメント) にアクセスしてください。
オペレーションの設定
Java Set
インターフェイスを使用すると、和集合、交差、サブセットなどの基本的な数学的集合演算を実行できます。
- ユニオン - 2 つの集合 x の結合を取得する と y 、
x.addAll(y)
を使用できます - 交差点 - 2 つの集合 x の交点を取得する と y 、
x.retainAll(y)
を使用できます - サブセット - x かどうかを確認する y のサブセットです 、
y.containsAll(x)
を使用できます
Set インターフェイスの実装
<強い>1. HashSet クラスの実装
import java.util.Set;
import java.util.HashSet;
class Main {
public static void main(String[] args) {
// Creating a set using the HashSet class
Set<Integer> set1 = new HashSet<>();
// Add elements to the set1
set1.add(2);
set1.add(3);
System.out.println("Set1: " + set1);
// Creating another set using the HashSet class
Set<Integer> set2 = new HashSet<>();
// Add elements
set2.add(1);
set2.add(2);
System.out.println("Set2: " + set2);
// Union of two sets
set2.addAll(set1);
System.out.println("Union is: " + set2);
}
}
出力
Set1: [2, 3] Set2: [1, 2] Union is: [1, 2, 3]
HashSet
について詳しく知るには 、Java HashSet にアクセスしてください。
<強い>2. TreeSet クラスの実装
import java.util.Set;
import java.util.TreeSet;
import java.util.Iterator;
class Main {
public static void main(String[] args) {
// Creating a set using the TreeSet class
Set<Integer> numbers = new TreeSet<>();
// Add elements to the set
numbers.add(2);
numbers.add(3);
numbers.add(1);
System.out.println("Set using TreeSet: " + numbers);
// Access Elements using iterator()
System.out.print("Accessing elements using iterator(): ");
Iterator<Integer> iterate = numbers.iterator();
while(iterate.hasNext()) {
System.out.print(iterate.next());
System.out.print(", ");
}
}
}
出力
Set using TreeSet: [1, 2, 3] Accessing elements using iterator(): 1, 2, 3,
TreeSet
について詳しく知るには 、Java TreeSet にアクセスしてください。
Set
が何であるかがわかったので、 つまり、EnumSet
のようなクラスでその実装が見られます。 、 HashSet
、 LinkedHashSet
と TreeSet
次のチュートリアルで。
Java