java list两两合并的10种方式

复制代码
public static<T> List<T> merge(List<T> list1, List<T> list2)
{
    List<T> list = new ArrayList<>();
    list.addAll(list1);
    list.addAll(list2);
    return list;
}
public static<T> List<T> merge2(List<T> list1, List<T> list2)
{
    List<T> list = new ArrayList<>(list1);
    list.addAll(list2);
    return list;
}
public static<T> List<T> merge3(List<T> list1, List<T> list2)
{
    return new ArrayList<T>() {{
        addAll(list1);
        addAll(list2);
    }};
}
public static List<String> merge4(List<String> list1, List<String> list2)
{
    List<String> list = new ArrayList<>();
    Collections.addAll(list, list1.toArray(new String[0]));
    Collections.addAll(list, list2.toArray(new String[0]));
    return list;
}

public static<T> List<T> merge5(List<T> list1, List<T> list2)
{
    return Stream.of(list1, list2)
            .flatMap(x -> x.stream())
            .collect(Collectors.toList());
}

public static<T> List<T> merge6(List<T> list1, List<T> list2)
{
    List<T> list = new ArrayList<>();
    Stream.of(list1, list2).forEach(list::addAll);
    return list;
}

// Generic method to join two lists in Java
public static<T> List<T> merge7(List<T> list1, List<T> list2)
{
    List<T> list = list1.stream().collect(Collectors.toList());
    list.addAll(list2);
    return list;
}

// Generic method to join two lists in Java
public static<T> List<T> merge8(List<T> list1, List<T> list2) {
    return Lists.newArrayList(Iterables.concat(list1, list2));
}

// Generic method to join two lists in Java
public static<T> List<T> merge9(List<T> list1, List<T> list2)
{
    List<T> list = Lists.newArrayList();
    Iterables.addAll(list, list1);
    Iterables.addAll(list, list2);
    return list;
}

// Generic method to join two lists in Java
public static<T> List<T> merge10(List<T> list1, List<T> list2) {
    return ListUtils.union(list1, list2);
}
相关推荐
望获linux31 分钟前
【实时Linux实战系列】Linux 内核的实时组调度(Real-Time Group Scheduling)
java·linux·服务器·前端·数据库·人工智能·深度学习
Never_Satisfied34 分钟前
在 JavaScript 中,删除数组中内容为xxx的元素
java·前端·javascript
MC丶科41 分钟前
【SpringBoot常见报错与解决方案】端口被占用?Spring Boot 修改端口号的 3 种方法,第 3 种 90% 的人不知道!
java·linux·spring boot
怪兽20141 小时前
Redis常见性能问题和解决方案
java·数据库·redis·面试
zz-zjx1 小时前
JVM 内存结构与 GC 机制详解( 实战优化版)
java·jvm·tomcat
nvvas1 小时前
Android Studio JAVA开发按钮跳转功能
android·java·android studio
武帝为此1 小时前
【B树与B+树详解】
数据结构·b树
CV工程师丁Sir1 小时前
Rokid设备连接全解析:蓝牙与Wi-Fi通信源码深度剖析
java
zoyation1 小时前
多线程简介和在JAVA中应用
java·开发语言
南莺莺1 小时前
邻接矩阵的基本操作
数据结构·算法··邻接矩阵