How to merge lists in Java8. When I looked it up, there were three.
import java.util.*;
import java.util.stream.*;
class Main {
public static void main(String[] args) {
List<String> list1 = Arrays.asList("Apple", "Banana", "Ctrus");
List<String> list2 = Arrays.asList("Drian", "Elderberry");
// (1) http://blog.64p.org/entry/2014/11/21/123447
List<String> newList1 = Stream.concat(list1.stream(), list2.stream())
.collect(Collectors.toList());
System.out.println(newList1);
// (2) http://simplesandsamples.com/list-join.java.html
List<String> newList2 = new ArrayList<>();
newList2.addAll(list1);
newList2.addAll(list2);
System.out.println(newList2);
// (3) https://ja.stackoverflow.com/questions/8232/stream%E3%81%A7%E3%83%AA%E3%82%B9%E3%83%88%E3%81%AE%E7%B5%90%E5%90%88%E3%81%8C%E3%81%97%E3%81%9F%E3%81%84
List<List<String>> outer = Arrays.asList(list1, list2);
List<String> newList3 = outer.stream()
.flatMap(lst -> lst.stream())
.collect(Collectors.toList());
System.out.println(newList3);
}
}
Recommended Posts