2016-04-08 7 views
1

2つのリストを2次元配列に変換するにはどうすればよいでしょうか?例2つのArrayListsをString [] []に変換する

listA = {"A","B"} 
listB = {"1","2"} 

は、私はそれらを変換したい: 配列= {{A、1}、 {B、2}}

は、ループを使って手動でそれを行うより良い方法はありますか?

+0

は、「より良い」を定義してください... – Seelenvirtuose

+3

はそれは、 'ジップ()'と呼ばれ、あなたはそれが、このようなグアバと機能Javaなど、いくつかのサードパーティのライブラリを使用して行うことができます毎回いくつかの欠点があります。 – alamar

+0

http://stackoverflow.com/questions/17640754/zipping-streams-using-jdk8-with-lambda-java-util-stream-streams-zip –

答えて

1

私はあなたの欲しいものがわかりません。以下のような単純な方法で ここでは、listAlistBは同じサイズです。

List<String> listA = new ArrayList<String>(); 
listA.add("A"); 
listA.add("B"); 
listA.add("C"); 
List<String> listB = new ArrayList<String>(); 
listB.add("1"); 
listB.add("2"); 
listB.add("3"); 
String[][] multi = new String[listA.size()][listB.size()]; 
for(int i=0; i < listA.size(); i++) { 
    multi[i] = new String[]{listA.get(i), listB.get(i)}; 
} 
System.out.println(multi[0][0] + "," + multi[0][1]); 
System.out.println(multi[1][0] + "," + multi[1][1]); 
System.out.println(multi[2][0] + "," + multi[2][1]); 

出力

A,1 
B,2 
C,3 
関連する問題