プログラミング 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


関連記事

結城浩氏のPrototypeパターン 練習課題6-1の回答例

結城浩氏著作「Java言語で学ぶデザインパターン入門」 Prototypeパターン 練習課題6-1の回答例です。 課題の概要 UnderLinePen、MessageBoxクラスのcreateClon …

【Bootstrap】ログイン画面をデザインしよう!

概要 【SpringSecurity】#3~ 独自のログイン画面でシンプルな独自のログイン画面を実装しました。 これに、Bootstrapでデザインを施していきます。 Bootstrapのサンプルを基 …

【Java】ディレクトリまたはファイルのみを再帰的に削除する

概要 再帰的にファイルやディレクトリを削除したいことがあります。 そんなときにサラッと書けるコードです。 環境 Java8以降 実装 指定したディレクトリを含めて全て削除 指定したディレクトリを含めて …

【Java】モジュールシステムの概要と実装例

概要 Javaのモジュールシステムについて、概念的なイメージと実際のコード例で理解を深めるための記事です。 読者はJava Silverの資格勉強中の方やJava入門者を想定しています。 内容は以下の …

【Java】Doubleとdoubleの違いは何か?

結論 Double:オブジェクト型 double:プリミティブ型 「Doubleはdoubleをラップしたオブジェクトである」ということです。 (・ω・´。)ん?つまりどういうこと? こゆこと。  ↓ …

記事を探す

SpringFramworkの良書

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

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