【Java】Setの使い方(add、size、isEmpty、clearなど)

 

この記事で分かること
JavaのSetの使い方について解説します。

  1. add(値):セットに要素を追加
  2. size():格納されている要素数を数える
  3. isEmpty():要素数がゼロであるかを判定
  4. contains(値):指定要素が含まれているかを判定
  5. clear(): 要素を全て削除する
  6.  remove(値):指定されている内容の要素を削除する

 

Set

 

①HashSet
Set<データ型> 変数名 = new HashSet<>();
②TreeSet
Set<データ型> 変数名 = new TreeSet<>();

それぞれのSetの特徴
①重複は許さない、順番は問わないデータ

②重複は許さない、自然順序付けで整列したデータ

なお、Setを含め、コレクションクラス(MapほかMapやSetなど)はインスタンスでないものは格納できません。

例えば、下記のようなListは作成できません。

Set<int> Settest = new HashSet<>();//NG 文法エラー
//構文エラーがあります。"Dimensions" を挿入して ReferenceType を完了してください
Set<Integer> Settest = new HashSet<>(); //OK

つまり、intやbooleanなどの基本型の使用はできません(※文法エラーになります)それに対応して、「8つの基本データ型の情報を中身に保持すること」を責務とするラッパークラスが用意されています。

そのため、次のようにキーの型名, 値の型名は置き換えて使用する必要があります。

基本データ型   ラッパクラス
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character
boolean Boolean

Setの初期化サンプル

//Setを使用する場合import
import java.util.HashSet;
import java.util.Set;
import java.util.TreeSet;

マップの初期化セット
Set<String> Settest = new HashSet<>();
Set<String> Settest2 = new TreeSet<>();

HashSetのメソッド 

HashMapのメソッドでどのようなことができるのか主要なものをまとめました。

番号 メソッド 意味
add(値) セットに要素を追加
size() 格納されている要素数を数える
isEmpty() 要素数がゼロであるかを判定
contains(値) 指定要素が含まれているかを判定
clear() 要素を全て削除する
remove(値) 指定されている内容の要素を削除する

HashSetのサンプルプログラム

サンプルプログラム

HashMap主要な機能のサンプルプログラムとして、次のように作成しました。

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

public class SetTest {

    public static void main(String[] args) {
        Set<String> Settest = new HashSet<>();
        //①add(値) リストの最後に要素を追加
        Settest.add("赤");
        Settest.add("青");
        Settest.add("黄");
        Settest.add("赤");
        Settest.add("青");
        System.out.println("①"+ Settest);
        System.out.println("① 重複要素は無視されることを確認");
        //②size() 格納されている要素数を数える
        System.out.println("②"+ Settest.size());
        //③isEmpty() 要素数がゼロであるかを判定
        if (!Settest.isEmpty()) {
            System.out.println("③ 要素数がゼロではない");
            System.out.println("③"+ Settest.size());
        }
        //④contains(値) 指定要素が含まれているかを判定
        System.out.println("④" + Settest.contains("赤"));
        System.out.println("④" + Settest.contains("白"));
        System.out.println("④"+ Settest);
        //⑥remove(値) 指定されている内容の要素を削除する
        Settest.remove("黄");
        System.out.println("⑥"+ Settest);
        //⑤remove(値) 指定されている内容の要素を削除する
        Settest.clear();
        System.out.println("⑤"+ Settest);
    }
}

実行結果

①[青, 赤, 黄]
① 重複要素は無視されることを確認
②3
③ 要素数がゼロではない
③3
④true
④false
④[青, 赤, 黄]
⑥[青, 赤]
⑤[]

管理人
Javaの記事の一覧はJava にまとめてあります

 

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

PAGE TOP