Java兩個ArrayList合併
package com.example.think.common.vincent;
import com.google.common.collect.Iterables;
import org.apache.commons.collections4.ListUtils;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class ListMergeHelp {
public static <T> List<T> getMergeList(List<T> list1, List<T> list2) {
List<T> mergeList = new ArrayList<>();
mergeList.addAll(list1);
mergeList.addAll(list2);
return mergeList;
}
public static <T> List<T> getMergeList2(List<T> list1, List<T> list2) {
List<T> mergeList = new ArrayList<>(list1);
mergeList.addAll(list2);
return mergeList;
}
public static <T> List<T> getMergeList3(List<T> list1, List<T> list2) {
return new ArrayList<T>() {{
addAll(list1);
addAll(list2);
}};
}
public static <T> List<T> getMergeList4(List<T> list1, List<T> list2) {
return Stream.of(list1, list2).flatMap(x -> x.stream()).collect(Collectors.toList());
}
public static <T> List<T> getMergeList5(List<T> list1, List<T> list2) {
List<T> list = new ArrayList<>();
Stream.of(list1, list2).forEach(list::addAll);
return list;
}
public static <T> List<T> getMergeList6(List<T> list1, List<T> list2) {
return Stream.concat(list1.stream(), list2.stream()).collect(Collectors.toList());
}
public static <T> List<T> getMergeList7(List<T> list1, List<T> list2) {
List<T> list = list1.stream().collect(Collectors.toList());
list.addAll(list2);
return list;
}
public static <T> List<T> getMergeList8(List<T> list1, List<T> list2) {
return ListUtils.union(list1, list2);
}
public static <T> List<T> getMergeList9(List<T> list1, List<T> list2) {
List<T> list = new ArrayList<>();
Iterables.addAll(list, list1);
Iterables.addAll(list, list2);
return list;
}
}