首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

两个list中,某字段相等处理

2012-03-25 
两个list中,某字段相等处理,求助两个list的字段一样,listA的A字段值很全,B字段都为0,listB中的A字段的值不

两个list中,某字段相等处理,求助
两个list的字段一样,listA的A字段值很全,B字段都为0,listB中的A字段的值不全,但值一定在listA中存在,B字段为有效值。
要求:
把listB中的B字段,放到对应的listA中,  

listA
A B
a 0
b 0
c 0

listB
A B
a 1
c 3

结果
listA
A B
a 1
b 0
c 3


怎么写代码呢??谢谢了




[解决办法]

Java code
ArrayList<XObject> listA,listB;//......for (int i=0; i<listB.size(); i++) {  for (int j=0; j<listA.size(); j++) {    if (listA.get(j).A.equals(listB.get(i).A))      listA.get(j).B = listB.get(i).b;  }}
[解决办法]
数据量不大,1楼的就可以
数据量大的话,最好先排序
[解决办法]
Java code
class YourListStruct {    public String A;    public int B;        static public void put(YourListStruct[] listA, YourListStruct[] listB) {        Hashtable<String, YourListStruct> lsA = new Hashtable<String, YourListStruct>();        for (int i = 0; i < listA.length; i++)            lsA.put(listA[i].A, listA[i]);        for (int i = 0; i < listB.length; i++) {            YourListStruct e = lsA.get(listB[i].A);            if (e != null)                e.B =  listB[i].B;        }    }}
[解决办法]
探讨
java集合中没有什么简单一点的方法可以用么?

[解决办法]
探讨

Java code

ArrayList<XObject> listA,listB;
//......
for (int i=0; i<listB.size(); i++) {
for (int j=0; j<listA.size(); j++) {
if (listA.get(j).A.equals(listB.get(i).A))
listA.get(j).B = ……

[解决办法]
HashMap
[解决办法]
探讨
Java code


ArrayList<XObject> listA,listB;
//......
for (int i=0; i<listB.size(); i++) {
for (int j=0; j<listA.size(); j++) {
if (listA.get(j).A.equals(listB.get(i).A))
listA.get(……

热点排行