私はAndroidでプロジェクトを行っていますが、問題があります。配列リストの値は次のようになります。
[name1、addr1、place1、name2、addr2、place2]
この値を分割して、名前、住所、場所を別の配列リストに保存するにはどうすればよいですか?
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> 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]);
}
次の方法で、配列を別の配列に分割できます。
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;
}
}