單圈我有2個的ArrayList:與2倍的ArrayList
ArrayList<LatLng> list1
ArrayList<String> list2
我嘗試用2 ArrayList的一環。例。
for(LatLng a : list1 [i dont know what put here] String b : list2)
{
Log.d("Response", String.valueOf(a, b));
}
我該怎麼辦?
單圈我有2個的ArrayList:與2倍的ArrayList
ArrayList<LatLng> list1
ArrayList<String> list2
我嘗試用2 ArrayList的一環。例。
for(LatLng a : list1 [i dont know what put here] String b : list2)
{
Log.d("Response", String.valueOf(a, b));
}
我該怎麼辦?
您不能使用循環超過2只列出了一次增強,唯一的選擇是使用一個正常的循環:
//Assuming list1 and list2 are identical sizes:
for (int i = 0; i < list1.size(); i++){
LatLng latLng = list1.get(i);
String s = list2.get(i);
//Do something with them
}
如果你真的想這樣做在1圈,你可能考慮做一個組合對象:
public class CombinationObject{
private LatLng latLng;
private String string;
//GETTERS & SETTERS
}
然後,您可以添加元素的CombinationObject
列表:List<CombinationObject> list;
和循環剛過奇異名單。
for (CombinationObject co : list){
LatLng latLng = co.getLatLng();
String s = co.getString();
//Do something...
}
大小是相同的,所以我使用第一個答案,但這個循環做從數組的最後一個元素運行,應該從第一個運行,我想以相反的順序工作 – patrick1980
使用'Collections.reverse(list)'來反向命令。或者按相反順序添加條目,或創建自己的列表實現。你沒有在你的問題中指定相反的順序... –
我沒有在我的問題中指定這個,因爲當我使用1 Arraylist是好的,從1到10,但是當我使用2 Arraylist時,它是從10到1 – patrick1980
你的問題不是很清楚,但我認爲你試圖實現的是從每個ArrayList獲取相應索引的值?如果是這樣,你可以這樣實現它:
ArrayList<LatLng> list1;
ArrayList<String> list2;
if(list1.size() != list2.size()){
Log.e("Arrays are not of the same size!");
}
else{
for(int i = 0; i<list1.size(); i++){
String s = list1.get(i).toString() + " : " + list2.get(i).toString();
Log.d("Response", s);
}
}
它們是否被相同的索引綁定? (即list1上的第一個位置與list2中的第一個位置配對),如果是這樣,只需要使用一個正常循環。 ).blablabla list2.get(i).blablabla – leofontes
你能更精確嗎?二維數組看起來不像這樣。 – estoke