1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Java】HashSetクラスの使い方

Posted at

#はじめに
本記事ではjava.util.Setインターフェースを実装するコレクションクラスの中で最も一般的な
java.util.HashSetクラスについて書きます。

#HashSetクラスの特徴

1. 重複した値を格納しようとすると、エラーは発生しないが格納されない

以下の例では、ゴリラを2回addしていますが、要素数は3となっています。


Set<String> animals = new HashSet<String>();

    animals.add("猿");
    animals.add("熊");
    animals.add("ゴリラ");
    animals.add("ゴリラ");

System.out.println("動物は" + animals.size() + "種類です"); //動物は3種類です

2. 値の順序が保証されていない

以下の例では、猿⇨熊⇨ゴリラの順で格納しましたが、出力は異なっています。


Set<String> animals = new HashSet<String>();

    animals.add("猿");
    animals.add("熊");
    animals.add("ゴリラ");

    for(String s : animals){

        System.out.println(s + " "); // 熊 ゴリラ 猿
    }

#最後に
格納する値の重複を許さずに順序も保証して欲しい場合は、LinkedHashSetクラスを使うことで実現可能です。

#参考
Java Platform SE8 クラスHashSet

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?