日期:2014-05-20  浏览次数:20620 次

关于两个List的合并

两个list如何根据相同的信息连接?
比如List1中有a,b两个字段,list2中有a,c两个字段,怎么根据a的值相同连接起来?
List1:
a   b
1   a
2   b
3   c
List2
a   c
1   d
2   e
3   f
如何得到list3
1   a   d
2   b   e
3   c   f  


------解决方案--------------------
很难看明白,其中的数据结构。map 中的 key 和 value 各是什么?数据的组织方式?因为这些不清楚的话,很难下手的。RowData 是什么样的东东,为什么可以强转成 Map 类型。疑惑多多。
------解决方案--------------------

import java.util.HashMap;
import java.util.Iterator;
import java.util.ArrayList;

public class guess {
public static void main(String[] args) {
HashMap map=new HashMap();
HashMap map2=new HashMap();
ArrayList list=new ArrayList();

map.put( "1 ", "a ");
map.put( "2 ", "b ");
map.put( "3 ", "c ");

map2.put( "1 ", "d ");
map2.put( "2 ", "e ");
map2.put( "3 ", "f ");

Iterator it=map.keySet().iterator();

while(it.hasNext())
{
Object obj=it.next();
String[] arr=new String[3];
arr[0]=String.valueOf(obj);
arr[1]=String.valueOf(map.get(obj));
arr[2]=String.valueOf(map2.get(obj));
list.add(arr);
}

for (int i=0;i <list.size();i++)
{
String[] arr=(String[])list.get(i);
for (String a:arr)
{
System.out.print(a+ "\t ");
}
System.out.println( " ");
}
}
}