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);
}
相关推荐
凤山老林4 分钟前
04-Java JDK, JRE和JVM
java·开发语言·jvm
camellias_6 小时前
【无标题】
java·tomcat
咸鱼2.07 小时前
【java入门到放弃】需要背诵
java·开发语言
澈2077 小时前
深入浅出C++滑动窗口算法:原理、实现与实战应用详解
数据结构·c++·算法
椰猫子7 小时前
Java:异常(exception)
java·开发语言
ambition202427 小时前
从暴力搜索到理论最优:一道任务调度问题的完整算法演进历程
c语言·数据结构·c++·算法·贪心算法·深度优先
代码旅人ing7 小时前
链表算法刷题指南
数据结构·算法·链表
win x8 小时前
Redis 使用~如何在Java中连接使用redis
java·数据库·redis
星晨雪海8 小时前
基于 @Resource 的支付 Service 多实现类完整示例
java·开发语言
阿维的博客日记8 小时前
什么是逃逸分析
java·juc