ただ、ストレスなく生きたいだけのITエンジニアのブログ -- 弱小エンジニア脱却への道
【初心者向け】javaのSetの使い方

こんにちは!ISAMU(@burlesca_isa)です!

今回の対象読者は

  • JavaのSetの使い方を知りたい方

javaのSetの使い方

javaのSetは重複しないデータの集合を表すクラスです。

Setは大きく3種類あります。

  • HashSet・・・要素の重複不可の基本的な集合
  • LinkedHashSet・・・重複不可で要素の順番で取り出せる
  • TreeSet・・・重複不可でソートした状態で取り出せる

構文

Set<型> 変数名 = new HashSet();

変数の型はSetインターフェースで宣言します。

例を示します

HashSetサンプルプログラム

出力結果

test2
test3
test1

test1は重複しているため削除されます。

また、HashSetは順序が保証されていないため、
格納順で出力されていません。

格納順で出力したい場合はLinkedHashSetを使用します。

LinkedHashSetサンプルプログラム

出力結果

test1
test2
test3

ソートしたい場合はTreeSetを使用します。

TreeSetサンプルプログラム

出力結果

test1
test2
test3
test4

Setに自作クラスを格納する

Setに自作クラスを格納するには2つのメソッドをオーバーライドする必要があります。

  • hashCode()
  • equals()

Setはデータの重複不可ですが、
同じデータかどうかを判断するために上記のメソッドを使用します。

自作クラスの場合はメンバ変数に対して重複させないようにすることができます。

例えば「name」と「age」をメンバ変数に持つクラスがあるとすれば、
「name」の重複は許さずに「age」の重複は許す、ということも可能です。

統合開発環境のEcripseを使用すれば自動的に作成することができます。

①[ソース]→[hashコードおよびequalsの作成]をクリック

[ソース]→[hashコードおよびequalsの作成]をクリック

②キーにしたいフィールドを選択してOKを押下する

※今回の場合はnameが重複できなくなる
キーにしたいフィールドを選択してOKを押下する

③追加される

追加される

サンプルプログラム

【初心者向け】javaのSetの使い方
最新情報をチェックしよう!