注目記事

【Javaコード入門】コレクションフレームワーク_⑪HashSet

重複を許さない要素の集合 – HashSet

HashSetは、要素の重複を許可しない集合構造を表します。また、順番も持ちません。数学での集合にもよく似た構造と考えて良いでしょう。
HashSetクラスで利用できるメソッドには、以下のようなものがあります。

HashSetクラスの主なメソッド
メソッド 概要
add(E e) 要素eを挿入
clear() すべての要素を削除
contains(Object e) セットに要素eが含まれているかを判定
isEmpty() セットが空かを判定
remove(Object e) 要素eを削除
size() セットに含まれる要素の数を取得

以下は、HashSetに要素をセットし、その値を順に出力する例です。

CollSet.java

  1. package com.example.mynavi.collection;
  2.  
  3. import java.util.HashSet;
  4.  
  5. public class CollSet {
  6.   public static void main(String args) {
  7.     var set = new HashSet<String>() {
  8.       {
  9.         add("Windows");
  10.         add("Linux");
  11.         add("macOS");
  12.       }
  13.     };
  14.  
  15.     for (var str : set) {
  16.       System.out.println(str);  // 結果:Linux、Windows、macOS
  17.     }
  18.  
  19.     System.out.println(set.contains("Linux"));  // 結果:true
  20.  
  21.     if (!set.isEmpty()) {
  22.       System.out.println("要素数は" + set.size() + "個です。");
  23.     // 結果:要素数は3個です。
  24.     }
  25.  
  26.     set.remove("Windows");
  27.     System.out.println(set);    // 結果:[Linux, macOS]
  28.     set.clear();
  29.     System.out.println(set);    // 結果:
  30.   }
  31. }
コレクションフレームワーク_目次
コレクションフレームワーク
コレクションを初期化する
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万部を超える。