こんにちは、コイキングです。
本記事では'セット(Set)'について、説明したいと思います。
1. セット(Set)とは?
Setは重複されていないデータの集まりを格納するためのデータ構造です。
Setを実装したクラスはHashSet, LinkedHashSet, TreeSetなどがあります。
2. HashSet
ハッシュセットはHashMapのKeyの値がユニークである特性を利用して実装されています。
そのため、HashMapの特性と長・短所を共有します。
1) データの挿入
Set<String> set = new HashSet<String>();
set.add("HashSet-value-01");
set.add("HashSet-value-02");
set.add("HashSet-value-02"); // 重複された値は挿入できない。
set.add("HashSet-value-03");
set.add("HashSet-value-04");
2) データの出力
for (String str : set) {
System.out.println("Set value : "+str);
}
3) データの削除
値を指定して削除
set.remove("HashSet-value-01");
全体データ削除
set.clear();
3. LinkedHashSet
リンクドハッシュセットはLinkedHashMapの特性を共有しています。
セットに格納する各データの順序が重要な場合使います。
※ データのCRUD機能はHashSetの機能を共有するため省略。
4. TreeSet
ツリーセットはTreeMapの特性を共有します。
セットに格納するデータの順序が重要で、格納するデータの数が多い場合使います。
※ データのCRUD機能はHashSetの機能を共有するため省略。
※ 例示コード
https://github.com/leeyoungseung/algorithmBasic/blob/master/algorithm/src/basic/B_13_Set.java
※ 韓国語のポストは以下のURLで確認できます。
https://koiking.tistory.com/85?category=1068655