我在 android 中做一个项目,我有一个问题我的数组列表值是这样的
[名称1,地址1,地点1,名称2,地址2,地点2]
如何拆分这些值并希望将名称、地址、位置存储在不同的数组列表中?
ArrayList<String> allInfo, names, addresses, places;
//init everythin
for(int i=0; i<allInfo.size();i++)
switch( i % 3 ){
case 0:
names.add(allInfo.get(i));
break;
case 1:
addresses.add(allInfo.get(i));
break;
case 2:
places.add(allInfo.get(i));
break;
}
或者更有效的方法
for(Iterator itr=allInfo.iterator(), int i=0; itr.hasNext(); i++)
switch( i % 3 ){
case 0:
names.add(itr.next());
break;
case 1:
addresses.add(itr.next());
break;
case 2:
places.add(itr.next());
break;
}
您可以通过以下方式将数组拆分为不同的数组。
ArrayList<String> mainArray = new ArrayList<String>();
//mainArray Has Data now we want to shift it into different arrays
ArrayList<String> name = new ArrayList<String>();
ArrayList<String> address = new ArrayList<String>();
ArrayList<String> place = new ArrayList<String>();
for(int i=0;i<mainArray.size();i++){
switch(i%3){
case 0:
name.add(mainArray.get(i));
break;
case 1:
address.add(mainArray.get(i));
break;
case 2:
address.add(mainArray.get(i));
break;
}
}
ArrayList<String> yourArrayList; //this is you array list which have names, addresses and places in it
ArrayList<String> names = new ArrayList<String>();
ArrayList<String> addresses = new ArrayList<String>();
ArrayList<String> places = new ArrayList<String>();
for(int i =0;i<yourArrayList.length;i++){ //iterate yourArrayList and for every element, add it in a seperate array list
if(i%3==0)
names.add(yourArrayList[i])
else if(i%3==1)
addresses.add(yourArrayList[i]);
else if(i%3==2)
places.add(arraylist[i]);
}