0

我想将两个arrayList列表合并为一个 list1 并且列表 2 包含 list1:ahm,sam,ram list2:1 1 0 我想将 list1 的第一个位置与第一个位置一起放入列表 1 例如:想要调用(ram,0) (ahm,1)等等....?

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

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

3 回答 3

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);
}
于 2012-10-02T14:00:01.320 回答
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);

于 2012-10-02T14:02:10.850 回答
1

你可以写一个方法来成功你想做的事情:

String getPair( int position )
{
    return list1.get( position ) +","+ list2.get( position );
}
于 2012-10-02T14:05:22.090 回答