言語
日本語
English

Caution

お使いのブラウザはJavaScriptが無効になっております。
当サイトでは検索などの処理にJavaScriptを使用しています。
より快適にご利用頂くため、JavaScriptを有効にしたうえで当サイトを閲覧することをお勧めいたします。

Java辞典

  1. トップページ
  2. Java辞典
  3. セット.size() / isEmpty() / iterator()

セット.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()』を参照してください。

記事の間違いや著作権の侵害等ございましたらお手数ですがまでご連絡頂ければ幸いです。