如何[平面]在Java中将多个数组合并到列表中

psy*_*ard 0 java arrays merge list

如何[平面]将多个数组合并为一个List<String>

例如:

private String title[] = { "Cup Cake", "Donut", "Eclair", "Froyo",
        "Ginger Bread", "Honey Comb", "Icecream Sandwich", "Jelly Bean" };

private String desc[] = { "version: 1.5", "version: 1.6",
        "version: 2.0 & 2.1", "version: 2.2", "version: 2.3",
        "version: 3.0", "version: 4.0", "version: 4.1" };

private int thumb[] = {3,4,7,8,10,11,15,16};
Run Code Online (Sandbox Code Playgroud)

sak*_*029 5

尝试这个

List<Object> list =
    Stream.of(Stream.of(title), Stream.of(desc), IntStream.of(thumb).mapToObj(i -> i))
    .flatMap(s -> s)
    .collect(Collectors.toList());
System.out.println(list);
Run Code Online (Sandbox Code Playgroud)

  • 另外,如果所有数组都是同一类型,您可以简单地编写 `Stream.of(title, desc,thumb, ..., another).flatMap(Stream::of).collect(toList())`,尤其是如果你想合并其中很多。如果要合并到新数组(而不是列表),请将“.collect(...)”部分替换为“.toArray(String[]::new)” (2认同)