2017-03-13 3 views
0

、私はこのようなものがあります:インターリーブ2つの文字列の配列Javaでは

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

をし、私が必要とする結果はこのようなものになるだろう:

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

を想定しString[] newArrayに1名の姓ずつを組み合わせます長さは同じです。

+0

Javaを使用していますか? –

+0

申し訳ありません、はい....私はすでに編集しました。下のあなたの答えをありがとう。 –

答えて

1

のJava 7以前の方法は、単にループを使用し、すべての姓名反復処理する方法があります:あなたは両方の配列が整数のストリームを使用してJava 8のストリームAPIとインデックスを使用することができます

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

を。

 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すでに述べている。

関連する問題