【Java】HashSetの使い方

今回の記事ではSetインターフェースを実装したHashSetの使い方を解説していきます。Setでは重複した要素を持つことができない他、追加した順序が考慮されません。これがSetの大きな特徴となります。サンプルコードでいくつかのメソッドを試してみます。

初期化

はじめに初期化をします。その後isEmptyメソッドでSetが空かどうかを判定します。何も要素がなければtrueが返ってきます。

import java.util.Set;
import java.util.HashSet;

public class SetTest {
    public static void main(String[] args) {
        Set<String> country = new HashSet<>();

        System.out.println(country.isEmpty()); // true
    }
}

要素の追加

要素の追加はaddメソッドを使います。addメソッドの戻り値はboolean型でSetでは要素の重複が許されないため、まだ要素に含まれていないオブジェクトを指定した場合は追加がされてtrueが返ってきます。しかしすでに要素に追加されているオブジェクトを追加しようとした時には追加処理は行われず、falseが返ってきます。

import java.util.Set;
import java.util.HashSet;

public class SetTest {
    public static void main(String[] args) {
        Set<String> country = new HashSet<>();

        System.out.println(country.add("Japan")); // true
        System.out.println(country.add("America")); //true
        System.out.println(country.add("China")); //true
        System.out.println(country.add("Japan")); //false
    }
}

 



要素の検索

要素の検索はcontainsメソッドによって行います。引数として渡したオブジェクトが含まれている場合はtrueが、含まれていない場合にはfalseが返ってきます。

import java.util.Set;
import java.util.HashSet;

public class SetTest {
    public static void main(String[] args) {
        Set<String> country = new HashSet<>();

        country.add("Japan");
        country.add("America");
        country.add("China");

        System.out.println(country.contains("Japan")); //trye
        System.out.println(country.contains("Canada")); //false

    }
}

要素の削除

要素の削除はremoveメソッドを使います。

import java.util.Set;
import java.util.HashSet;

public class SetTest {
    public static void main(String[] args) {
        Set<String> country = new HashSet<>();

        country.add("Japan");
        country.add("America");
        country.add("China");

        System.out.println(country.contains("Japan")); //true
        country.remove("Japan");
        System.out.println(country.contains("Japan")); //false

    }
}

 



要素全消し

Set内の要素を全部消すためにはclearメソッドを使います。またsizeメソッドを使うことでSetに含まれる要素数を取得することができます。

import java.util.Set;
import java.util.HashSet;

public class SetTest {
    public static void main(String[] args) {
        Set<String> country = new HashSet<>();

        country.add("Japan");
        country.add("America");
        country.add("China");

        System.out.println(country.size()); //3
        country.clear();
        System.out.println(country.size()); //0

    }
}

コメント

タイトルとURLをコピーしました