2012-10-02 117 views
0

我想合併兩個arrayList名單成一個 列表1和表2包含 list1:AHM,SAM,拉姆 list2:1 1 0 我希望把列表1的第一位置與第一要列出的位置1 例如:想要撥打(ram,0) (ahm,1)等等....?合併兩個ArrayList的名單成一個機器人

ArrayList<String> list1=new ArrayList<String>(); 

ArrayList<String> list2=new ArrayList<String>(); 
+0

我真的不明白。你想讓list1的第一個條目變成「ahm,1」嗎? – stealthjong

+0

我不明白輸出的數據結構。另外,你有什麼嘗試? – njzk2

+0

我的意思是我想把這兩個元素放在列表3中一個位置的兩個列表中的相同位置! –

回答

1

你想要做像你可以寫信給成功的方法:

String getPair(int position) 
{ 
    return list1.get(position) +","+ list2.get(position); 
} 
4

所以你想要鍵和值到一個列表?然後,你將需要一個HashMap爲了得到這樣的:

HashMap<String, Integer> myMap = new HashMap<String, Integer>(); 
for(int i = 0; i < list1.size(); i++){ 
    myMap.put(list1.get(i), list2.get(i)); 
} 

編輯:所以你要把每個列表的兩個元素到一個新的列表,String格式(x,y)那麼你需要做到以下幾點:

ArrayList<String> list3 = new ArrayList<String>(); 
for(int i = 0; i < list1.size(); i++){ 
    // if list2 contains string represented with numbers 
    String str = list1.get(i) + "," + list2.get(i); 
    // if list2 contains integers 
    String str = list1.get(i) + "," + String.valueOf(list2.get(i)); 
    list3.add(str); 
} 
+0

thanx爲你的答案:)但崩潰的應用程序:(實際上我不明白hasgMap的概念!! –

1

我不exacly知道你的意思,但很可能是這樣的:(假設你有兩個相同大小的列表)

for(int i=0; i < list1.size(); i++) { 
    list1.get(i) = list1.get(i) + "," + list2(i); 
} 

不過,如果我理解正確的話,你可能需要一個HashMap

HashMap<String, Integer> map = new HashMap<String, Integer>(); 
for(int i = 0; i < list1.size(); i++){ 
    map.put(list1.get(i), list2.get(i)); 
} 

對於真正的合併,使用list1.addAll(列表2);

+0

thanx爲ans,但它給了我一個錯誤,地圖dosent與2個字符串匹配!!把dosent取兩個字符串?! –

+0

@MeralAB如果你想將1和0保存爲字符串,只需將HashMap放入HashMap stealthjong

+0

aha ok thanx alot :)) –