我有2个ArrayList:
--executor-memory=8g
我尝试在一个循环中使用2个ArrayList。实施例。
ArrayList<LatLng> list1
ArrayList<String> list2
我应该怎么做?
答案 0 :(得分:3)
您不能同时在2个列表中使用增强型for循环,唯一的选择是使用普通for循环:
//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...
}
答案 1 :(得分:1)
您的问题不是很明确,但我认为您要实现的是从相应索引处的每个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);
}
}