繁体   English   中英

将两个不同的数组与不同的数据结合起来

[英]Combine two different arrays with diffrent data

我有两个不同的数组,一个是学生的名字,另一个是姓氏

String[] firstname = {"Joe", "bryan", "moe", "zoe"};
String[] Lastname = {"May", "Zoey", "Eden", "Pratt"};

我想知道我将如何继续获得输出,例如打印学生的名字,然后是学生的姓氏

例如Joe May ,Bryan Zoey

我不想使用打印功能手动打印每个名字和姓氏。 我想知道如何一次打印它们

如果您使用的是 Java 流,则可以使用:

String[] fullName = IntStream.range(0, firstname.length)
        .mapToObj(i -> String.format("%s %s", firstname[i], lastname[i]))
        .toArray(String[]::new);

我基于两个数组具有相同大小的事实。

输出

[Joe May, bryan Zoey, moe Eden, zoe Pratt]

除了@YCF_L 的优雅回答之外,下面还提供了更多方法:

public class Main {
    public static void main(String[] args) {
        String[] firstNames = { "Joe", "bryan", "moe", "zoe" };
        String[] lastNames = { "May", "Zoey", "Eden", "Pratt" };

        // First method
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < firstNames.length && i < lastNames.length; i++) {
            sb.append(firstNames[i]).append(" ").append(lastNames[i]).append(", ");
        }
        sb.deleteCharAt(sb.length() - 2); // delete the last comma
        System.out.println(sb);

        // Second method
        String fullNames[] = new String[firstNames.length];
        for (int i = 0; i < firstNames.length && i < lastNames.length; i++) {
            fullNames[i] = firstNames[i] + " " + lastNames[i];
        }
        String fullNamesStr = String.join(", ", fullNames);
        System.out.println(fullNamesStr);
    }
}

输出:

Joe May, bryan Zoey, moe Eden, zoe Pratt 
Joe May, bryan Zoey, moe Eden, zoe Pratt

在 java 8 中,考虑到数组具有相同大小的条件。

ArrayList<String> al=new ArrayList<>();
  for(int i=0;i<firstname.length;i++)
   {
     al.add(fisrtname[i]+" "+lastname[i]);
   }
//now u have a complete arraylist with you with all the full names in it

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM