Java リストを結合する方法
Javaでリストを結合する方法です。
Javaで2つのリストを1つにまとめる方法です。SQLなら簡単に解決できそうだけどね。
複数のリストを結合したい場合は、いくつか方法があります。
ここでは Javaでリストを結合するStream、List.addAll、Stream.flatMapの3つの方法について 紹介します。
Sponsored Links
Streamを使用する
Stream同士のリストを結合する方法です。
import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; import java.util.stream.Stream; public class CombineLists { public static void main(String[] args) { List<String> list1 = Arrays.asList("hoge", "piyo", "fuga", "foo"); List<String> list2 = Arrays.asList("bar", "baz", "saka"); // Stream を使用して Java リストを結合する List<String> newList1 = Stream.concat( list1.stream(), list2.stream() ) .collect( Collectors.toList() ); System.out.println(newList1); //[hoge, piyo, fuga, foo, bar, baz, saka] } }
Sponsored Links
List.addAllを使用する
List.addAll()を使用して、リストを結合する方法です。
import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class CombineLists { public static void main(String[] args) { List<String> list1 = Arrays.asList("hoge", "piyo", "fuga", "foo"); List<String> list2 = Arrays.asList("bar", "baz", "saka"); // List.addAll を使用して Java リストを結合する List<String> newList2 = new ArrayList<String>(); newList2.addAll(list1); newList2.addAll(list2); System.out.println(newList2); //[hoge, piyo, fuga, foo, bar, baz, saka] } }
Stream.flatMapを使用する
Stream.flatMapを使用して、リストを結合する方法です。
import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; public class CombineLists { public static void main(String[] args) { List<String> list1 = Arrays.asList("hoge", "piyo", "fuga", "foo"); List<String> list2 = Arrays.asList("bar", "baz", "saka"); //Stream.flatMap を使用して Java リストを結合する List<List<String>> outer = Arrays.asList(list1, list2); List<String> newList3 = outer.stream() .flatMap(lst -> lst.stream()) .collect(Collectors.toList()); System.out.println(newList3); //[hoge, piyo, fuga, foo, bar, baz, saka] } }
Sponsored Links
まとめ
Javaでリストを結合する方法を紹介しました。
ちなみにStream.concat()とdistinct()を組み合わせることで、重複要素を除外して結合できます。こちらは別の機会に紹介したいと思います。
おつかれさまでした。
Sponsored Links