セット.size() / isEmpty() / iterator()
| 対応: | Java 1.2(1998) |
|---|
セットの要素数を取得したり、セットが空かどうかを確認したり、全要素を順番に処理したりするメソッドです。セットには添字でアクセスできないため、反復処理には『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[] 配列に変換して返します。 |
サンプルコード
sample_HashsetSizeIterator.java
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
class HashsetSizeIterator {
public static void main(String[] args) {
Set<String> members = new HashSet<>();
members.add("五条悟");
members.add("伏黒恵");
members.add("釘崎野薔薇");
// サイズを確認します
System.out.println(members.size()); // 『3』と出力されます。
// 空かどうかを確認します
System.out.println(members.isEmpty()); // 『false』と出力されます。
// イテレーターで全要素を処理します
Iterator<String> it = members.iterator();
while (it.hasNext()) {
System.out.println(it.next()); // 各要素が出力されます。
}
// 拡張 for 文で全要素を処理します
for (String member : members) {
System.out.println(member);
}
// forEach とラムダ式で処理します(Java 8+)
members.forEach(member -> System.out.println(member));
// 配列に変換します
Object[] arr = members.toArray();
System.out.println(arr.length); // 『3』と出力されます。
}
}
HashsetSizeIterator.java
javac HashsetSizeIterator.java java HashsetSizeIterator 3 false 釘崎野薔薇 伏黒恵 五条悟 釘崎野薔薇 伏黒恵 五条悟 釘崎野薔薇 伏黒恵 五条悟 3
概要
『size()』はセットの要素数を返します。セットはリストと異なり添字アクセスができないため、要素の反復処理には拡張 for 文、イテレーター、または『forEach()』を使用します。
イテレーターで反復中に要素を追加・削除すると ConcurrentModificationException がスローされます。反復中に要素を削除する必要がある場合は、イテレーターの remove() メソッドを使用してください。
セットの作成・追加・確認については『new HashSet<>() / add() / contains() / remove()』を参照してください。
記事の間違いや著作権の侵害等ございましたらお手数ですがこちらまでご連絡頂ければ幸いです。