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);
}
相关推荐
定仙游45312 分钟前
Java StringBuilder 超详细讲解
java
haiyu柠檬14 分钟前
IDEA和VSCode中好用的插件推荐
java·vscode·intellij-idea
怜淇19 分钟前
docker拉取openjdk8:jre失败
java·docker·容器
降临-max36 分钟前
JavaWeb企业级开发---Mybatis
java·开发语言·笔记·学习·mybatis
wifi chicken41 分钟前
Linux 内核开发之单链表的增删查改详解
linux·数据结构·链表
好好研究1 小时前
SpringBoot注解的作用
java·spring boot·spring
Libby博仙1 小时前
Spring Boot 条件化注解深度解析
java·spring boot·后端
我是小疯子661 小时前
深入解析C++右值引用与移动语义
java·开发语言·算法
better_liang2 小时前
每日Java面试场景题知识点之-JUC锁的底层原理
java·并发编程·juc·锁机制·reentrantlock·readwritelock·底层原理
悟能不能悟2 小时前
Elastic Stack 中两种主要查询语言 KQL (Kibana Query Language) 和 Lucene 的详细对比和解释。
java·开发语言