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);
}
相关推荐
java1234_小锋2 小时前
Java高频面试题:BIO、NIO、AIO有什么区别?
java·面试·nio
用户8307196840822 小时前
Java IO三大模型(BIO/NIO/AIO)超详细总结
java
sheji34162 小时前
【开题答辩全过程】以 基于SSM的花店销售管理系统为例,包含答辩的问题和答案
java
Mr_sun.3 小时前
Day09——入退管理-入住-2
android·java·开发语言
MAGICIAN...3 小时前
【java-软件设计原则】
java·开发语言
JH30733 小时前
为什么switch不支持long
java
盐真卿3 小时前
python第八部分:高级特性(二)
java·开发语言
上海合宙LuatOS3 小时前
LuatOS核心库API——【audio 】
java·网络·单片机·嵌入式硬件·物联网·音视频·硬件工程
汤姆yu3 小时前
基于springboot的尿毒症健康管理系统
java·spring boot·后端
TT哇3 小时前
【实习】银行经理端线下领取扫码功能实现方案
java