-1

私はAndroidでプロジェクトを行っていますが、問題があります。配列リストの値は次のようになります。

[name1、addr1、place1、name2、addr2、place2]

この値を分割して、名前、住所、場所を別の配列リストに保存するにはどうすればよいですか?

4

3 に答える 3

1
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;
      }
于 2012-04-15T14:36:46.213 に答える
0
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]);
}
于 2012-04-15T14:51:43.607 に答える
0

次の方法で、配列を別の配列に分割できます。

    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;
        }
    }
于 2012-04-15T14:42:41.587 に答える