重複を許さない要素の集合 – HashSet
HashSetは、要素の重複を許可しない集合構造を表します。また、順番も持ちません。数学での集合にもよく似た構造と考えて良いでしょう。
HashSetクラスで利用できるメソッドには、以下のようなものがあります。
| HashSetクラスの主なメソッド | |
|---|---|
| メソッド | 概要 |
| add(E e) | 要素eを挿入 |
| clear() | すべての要素を削除 |
| contains(Object e) | セットに要素eが含まれているかを判定 |
| isEmpty() | セットが空かを判定 |
| remove(Object e) | 要素eを削除 |
| size() | セットに含まれる要素の数を取得 |
以下は、HashSetに要素をセットし、その値を順に出力する例です。
CollSet.java
- package com.example.mynavi.collection;
- import java.util.HashSet;
- public class CollSet {
- public static void main(String args) {
- var set = new HashSet<String>() {
- {
- add("Windows");
- add("Linux");
- add("macOS");
- }
- };
- for (var str : set) {
- System.out.println(str); // 結果:Linux、Windows、macOS
- }
- System.out.println(set.contains("Linux")); // 結果:true
- if (!set.isEmpty()) {
- System.out.println("要素数は" + set.size() + "個です。");
- // 結果:要素数は3個です。
- }
- set.remove("Windows");
- System.out.println(set); // 結果:[Linux, macOS]
- set.clear();
- System.out.println(set); // 結果:
- }
- }
- コレクションフレームワーク_目次
- コレクションフレームワーク
- コレクションを初期化する
- synchronizedList/synchronizedMap/synchronizedSetメソッド
- ArrayListクラス
- asListメソッド
- toArrayメソッド
- LinkedList
- HashMap
- TreeMap
- NavigableMap
- HashSet
- ArrayDeque
監修
山田祥寛(有限会社 WINGSプロジェクト)
静岡県榛原町生まれ。一橋大学経済学部卒業後、NEC にてシステム企画業務に携わるが、2003年 4 月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト(https://wings.msn.to/)」の代表でもある。主な著書に『改訂 3 版JavaScript 本格入門』(技術評論社)、「独習シリーズ(C#・Python・PHP・Ruby・JSP&サーブレットなど)」(翔泳社)、「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravel など)」(Amazon Kindle)など。売り上げの累計は100万部を超える。