●この記事で分かること
JavaのSetの使い方について解説します。
- add(値):セットに要素を追加
- size():格納されている要素数を数える
- isEmpty():要素数がゼロであるかを判定
- contains(値):指定要素が含まれているかを判定
- clear(): 要素を全て削除する
- remove(値):指定されている内容の要素を削除する
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 にまとめてあります