交错两个字符串数组

Interleave two string arrays

在Java中,我有这样的东西:

String[] firstname = { "name1", "name2", "name3" }; 
String[] lastname = { "lastname1", "lastname2", "lastname3" };

我需要的结果是这样的:

String[] newArray = {"name1 lastname1", "name2 lastname2", "name3 lastname3"};

假设长度相同,将姓氏一一组合成String[] newArray

Java7 和更早版本的方法可能只是使用循环并遍历所有名字和姓氏:

String[] fullname = new String[firstname.length];
for (int i=0; i < firstname.length; ++i) {
    fullname[i] = firstname[i] + " " + lastname[i];
}

您可以使用 Java 8 的流 API 并使用整数流对两个数组进行索引。

        String[] firstname = { "name1", "name2", "name3" };
        String[] lastname = { "lastname1", "lastname2", "lastname3" };

        String[] newArray = IntStream.range(0, firstname.length).boxed()
                .map(i -> firstname[i] + " " + lastname[i]).toArray(String[]::new);

        System.out.println(Arrays.toString(newArray));

这会产生

[name1 lastname1, name2 lastname2, name3 lastname3]

这个答案假定 lastname 的长度至少是 firstname 的长度,但 OP 已经说明了这一点。