将两个arrayList列表合并为一个android

时间:2012-10-02 13:54:21

标签: android

我希望将两个arrayList列表合并为一个 list1和list 2包含 list1:啊,山姆,公羊 list2:1 1 0 我想把list1的第一个位置放在第一个位置列表1 例如:想要致电(ram,0) (ahm,1)等等......?

ArrayList<String> list1=new ArrayList<String>();

ArrayList<String> list2=new ArrayList<String>();

3 个答案:

答案 0 :(得分:4)

所以你想把键和值放在一个列表中?然后,您需要HashMap才能获得此信息:

HashMap<String, Integer> myMap = new HashMap<String, Integer>();
for(int i = 0; i < list1.size(); i++){
    myMap.put(list1.get(i), list2.get(i));
}

修改:因此您希望将每个列表的两个元素放入一个新列表中,String格式为(x,y),然后您需要执行以下操作:

ArrayList<String> list3 = new ArrayList<String>();
for(int i = 0; i < list1.size(); i++){
    // if list2 contains string represented with numbers
    String str = list1.get(i) + "," + list2.get(i); 
    // if list2 contains integers
    String str = list1.get(i) + "," + String.valueOf(list2.get(i)); 
    list3.add(str);
}

答案 1 :(得分:1)

我不知道你的意思,但可能是这样的:(假设你有两个相同大小的名单)

for(int i=0; i < list1.size(); i++) {
  list1.get(i) = list1.get(i) + "," + list2(i);
}

但是,如果我理解正确,您可能需要HashMap

HashMap<String, Integer> map = new HashMap<String, Integer>();
for(int i = 0; i < list1.size(); i++){
  map.put(list1.get(i), list2.get(i));
}

对于真正的合并,请使用list1.addAll(list2);

答案 2 :(得分:1)

你可以写一个成功的方法:

String getPair( int position )
{
    return list1.get( position ) +","+ list2.get( position );
}