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


関連記事

junit, テスト

【JUnit5】テストコードの基本

概要 JUnit5でテストコードを書く基本について学ぶ。 テストの命名規則 テストクラス、テストメソッドの記述には一般的な慣例があります。 ここではそれらを紹介しますが、実際にはプロジェクト内でのコー …

【Java】ListをStreamで処理する方法 7選!

概要 ListをStreamで処理する方法のうち、よく使う処理方法を掲載します。 前準備 プリミティブなListでStreamを利用するシーンをあまり想定できなかったので、オブジェクトのListでの事 …

【SpringBoot入門】#11~ 削除ダイアログの作成

概要 検索結果から削除機能を呼び出した際に、削除を確認するためのダイアログです。 実装はjQueryで行いますので、mavenへの追加作業等の準備を別途行います。 イメージ jQueryの準備 jQu …

【Java】LinkedHashSetの使い方(挿入順を保持するSet)

LinkedHashSetはHashSetのサブクラスであり、同じメソッドが実装されています。 メソッドの使い方であればHashSetと同じなので、HashSetの使い方を参照下さい。  ↓ 【Jav …

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

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

SpringFramworkの良書

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

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