8
8

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 5 years have passed since last update.

JavaでSetに含まれる要素を順番に取り出す方法

Last updated at Posted at 2015-08-17

JavaのSetについてはその仕様上、1つずつ順番に取り出す、という操作の仕方は想定されていません。
なので、Listのgetメソッドのように中に含まれる要素を一個だけ取り出すみたいな使い方は基本的にはできません。

もし、どうしてもSetに含まれる要素を1つずつ取り出して使いたいという時には、iterator使いましょう使って取り出すことができます。

import java.util.*;

public SetIterator {
    public void main(String args) {
		Set<String> set = new HashSet<>();
		set.add("1");
		set.add("2");
		set.add("3");

		Iterator iterator = set.iterator(); // <- SetのIteratorを作る
		System.out.println(iterator.next());
		System.out.println(iterator.next());
		System.out.println(iterator.next());
	}
}

こうして、Iteratorを仲介することで要素を1つずつ取り出して処理することができます。

ただし、HashSetを使用すると中に含まれる要素の型に応じて勝手にソートされてしまいます。Setに含まれた順番のとおりに取り出したいときにはLinkedHashSetを使用しましょう。

2015/08/17 追記
もちろん、for-eachを使ってSetの各要素を取り出すことも可能です。ご指摘ありがとうございました。

8
8
2

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
8
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?