我有一个称为List_1的2D列表(邻接列表),我想与另一个名为List_2的2D列表合并为一个名为mergedList的新列表,而又不增加长度。

List_1具有[[a,b],[c,d],[e,f]]
List_2具有[[1,2],[3,4],[5,6]]

我希望mergedList成为[[a,b,1,2],[c,d,3,4],[e,f,5,6]]

最佳答案

下一步可以完成:

List<List<String>> list1 = Arrays.asList(
    Arrays.asList("a"," b"),
    Arrays.asList("c", "d"),
    Arrays.asList("e", "f"),
    Arrays.asList("e", "f")
);
List<List<String>> list2 = Arrays.asList(
    Arrays.asList("1"," 2"),
    Arrays.asList("3", "4"),
    Arrays.asList("5", "6")
);
List<List<String>> result = new ArrayList<>();
for (int i  = 0; i < list1.size() || i < list2.size(); i++) {
    List<String> list = new ArrayList<>();
    if (i < list1.size()) {
        list.addAll(list1.get(i));
    }
    if (i < list2.size()) {
        list.addAll(list2.get(i));
    }
    result.add(list);
}
System.out.println(result);


输出:

[[a,  b, 1,  2], [c, d, 3, 4], [e, f, 5, 6], [e, f]]


注意:这甚至支持列表大小不同的情况。

10-08 19:32