プログラミング Java

【Java】HashSetの使い方(順序なしSet)

投稿日:2020年6月20日 更新日:

HashSetの使い方をまとめました。
HashSetに関する使い方のサイトは他にもありますが、
それらのサイトには書かれていないメソッドについても書いてあります。

HashSetの基本情報

・重複する値を持たない。
・順序は保証しない。
・Nullは値として保持できる。

使い道

和集合の作成
集合A[1, 2, 3]
集合B[2, 4, 6]
A ∩ B = [1, 2, 3, 4, 6](∩ は和集合の記号です)
[2]は重複しているので、1つになります。

積集合も求めることはできます。
retainAllメソッドで可能ですので後述します。

使い方

追加

値の追加(addメソッド)

Collectionの追加(addAllメソッド)

Colection型であれば追加できます。(もちろん型が一致する必要はありますが)
ここではArrayListとHashMapを追加させています。

削除

値の全消去(clearメソッド)

値の削除(removeメソッド)

対象のCollectionを削除(removeAllメソッド)

条件付き削除(removeIfメソッド)

判定

等価判定(equalsメソッド)

要素数ゼロ判定(isEmptyメソッド)

値を含むか判定(containsメソッド)

指定したCollectionの値を含むか判定(containsAllメソッド)

引数に与えるのはColection型であればOKです。
ここではSet以外でも動作することを確認するため、ArrayListを判定対象のColectionとしています。

繰り返し

拡張For文

Iterator

各要素に対して指定されたアクションを実行(forEachメソッド)

ハッシュ・コード値(hashCodeメソッド)

要素数(sizeメソッド)

積集合(retainAllメソッド)

2つのCollectionにおいて共通要素だけにします。
対象はCollection型を指定できるため、ArrayListやHashMapとの共通要素を抽出することも可能です。

他の参考サイト

ITSakura – Java HashSetの使い方のサンプル
TechAcademy – JavaのHashSetクラスの使い方を現役エンジニアが解説【初心者向け】
Javaコード入門 – HashSet

 
最後までお読み頂き、ありがとうございました!
ご意見・ご要望がありましたら、遠慮なくコメント下さい!
もし内容が良かったらランキング評価を頂けると励みになります(^^)

ランキング評価する

-プログラミング, Java
-,

執筆者:


comment

メールアドレスが公開されることはありません。

CAPTCHA


関連記事

ITエージェントが保有している案件数を比較してみました

概要 ITエージェントが保有している案件はどのくらいあるのか? また、Java案件に参画するにはどのエージェント経由が有利か? というちょっとした興味を元に調べてみました。 調査実施日:2021年5月 …

MySQL-タイムゾーン設定すると起動しなくなる原因と対処方法

MySQLのタイムゾーン設定をすると、XAMPPでMySQLが起動できなる原因と対処法です。   原因 原因は、MySQL(MariaDB)は最初から日本語設定が入ってないためです。 def …

【Laravel】SQLの確認はenableQueryLogを使う

SQLのデバッグのために、SQLとバインドされた値を確認したいことがあります。 その時に使える方法として、よく提示されるのは以下の2つです。 1.enableQueryLogメソッドとgetQuery …

SpringでNotNullなどのバリデーションが効かないときの対処法

状況 フィールドに入っている値は空文字なのに、 @NotNull, @NotEmpty, @NotBlankでエラーとして検知されない。 (BindingResultでhasErroe=0件となる) …

【Javaサンプル】自動販売機を作成(Level1)

Javaの勉強用サンプルです。 テーマは自動販売機。 プログラミング初心者向けに書いています。   自動販売機を題材として選んだ理由 自社研修で行っている 自社研修で自動販売機を作成したので …

SpringFramworkの良書

■おすすめ教材
Javaの基本を学んだ人が、次のステップとして読む本(中級者向け)

※SpringはJavaのFrameworkの1つです。
変更のしやすさ、保守性の高さが特徴です。