Javaプログラミング入門講座!Javaに触れてみよう!【初心者向け】
野田竣介
フェルメール株式会社
今回はこのような依頼をいただきました。
JavaでSetをListに変換したい!
SetとListはうまく使い分けたいですよね。
そこで今回はこちらについて解説していきます!
イメージとしては重複する値を持たないList型ですね。
IDを変数で持ちたい場合にSetを使うことが多いです。
ListからSetに変換するだけで重複が削除できるのは便利ですね。
SetからListへの変換方法はこちら!
基本的にはListと同じ扱いができます。
// HashSetを使った初期化
Set<Long> hashSetIds = new HashSet<>();
// Listへ変換
List<Long> hashSetListIds = new ArrayList<>(hashSetIds);
ついでに逆変換のListからSetへの変換です。
逆になっただけでほとんど同じですね。
// Listの初期化
List<Long> list = new ArrayList<>();
// HashSetを使った初期化
Set<Long> hashSetIds = new HashSet<>(list);
Setの初期化方法はいろいろあるみたいだけど、HashSetを使うのが良さそう。
なんとなく、HashSetが主流な気がしますね。
// HashSetを使った初期化
Set<Long> hashSetIds = new HashSet<>();
// ArraySetを使った初期化(見たことない)
Set<Long> arraySetIds = new ArraySet();
// Set.ofを使った初期化
Set<Long> setOfIds = Set.of();
// Collections.emptySetを使った初期化(こんなのもできそう)
Set<Long> emptySetIds = Collections.emptySet();
SetからListへの変換はたったこれだけ!
Listと同じように使えるのでListを使いこなせてる人なら大丈夫ですね。
// HashSetを使った初期化
Set<Long> hashSetIds = new HashSet<>();
// Listへ変換
List<Long> hashSetListIds = new ArrayList<>(hashSetIds);
Listに比べて使う機会が少ないだけで難しくはないので覚えておきたいですね。
知っておくといつか役に立つと思います。
SetとListをうまく使い分けましょう!