Caution
お使いのブラウザはJavaScriptが実行できない状態になっております。
当サイトはWebプログラミングの情報サイトの為、
JavaScriptが実行できない環境では正しいコンテンツが提供出来ません。
JavaScriptが実行可能な状態でご閲覧頂くようお願い申し上げます。
セット.size() / isEmpty() / iterator()
セットの要素数を取得したり、セットが空かどうかを確認したり、全要素を順番に処理したりするメソッドです。セットには添字でアクセスできないため、反復処理には『iterator()』や拡張 for 文を使用します。
構文
// セットの要素数を取得します。
セット.size();
// セットが空かどうかを確認します。
セット.isEmpty();
// イテレーターを取得します。
Iterator<型> it = セット.iterator();
// 拡張 for 文で全要素を処理します。
for (型 変数 : セット) { ... }
// ラムダ式で全要素を処理します(Java 8+)。
セット.forEach(要素 -> 処理);
// セットを配列に変換します。
セット.toArray();
メソッド一覧
| メソッド | 概要 |
|---|---|
| size() | セットの要素数を int 型で返します。 |
| isEmpty() | セットが空かどうかを boolean 型で返します。 |
| iterator() | セットのイテレーターを返します。hasNext() と next() を組み合わせて使用します。 |
| forEach(Consumer) | 全要素に対してラムダ式の処理を実行します(Java 8+)。 |
| toArray() | セットのすべての要素を Object[] 配列に変換して返します。 |
サンプルコード
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
Set<String> colors = new HashSet<>();
colors.add("red");
colors.add("green");
colors.add("blue");
// サイズを確認します。
System.out.println(colors.size()); // 『3』と出力されます。
// 空かどうかを確認します。
System.out.println(colors.isEmpty()); // 『false』と出力されます。
// イテレーターで全要素を処理します。
Iterator<String> it = colors.iterator();
while (it.hasNext()) {
System.out.println(it.next()); // 各要素が出力されます。
}
// 拡張 for 文で全要素を処理します。
for (String color : colors) {
System.out.println(color);
}
// forEach とラムダ式で処理します(Java 8+)。
colors.forEach(color -> System.out.println(color));
// 配列に変換します。
Object[] arr = colors.toArray();
System.out.println(arr.length); // 『3』と出力されます。
概要
『size()』はセットの要素数を返します。セットはリストと異なり添字アクセスができないため、要素の反復処理には拡張 for 文、イテレーター、または『forEach()』を使用します。
イテレーターで反復中に要素を追加・削除すると ConcurrentModificationException がスローされます。反復中に要素を削除する必要がある場合は、イテレーターの remove() メソッドを使用してください。
セットの作成・追加・確認については『new HashSet<>() / add() / contains() / remove()』を参照してください。
記事の間違いや著作権の侵害等ございましたらお手数ですがこちらまでご連絡頂ければ幸いです。