多个List合并去除list中对象的某个属性值相同的对象

Java代码   收藏代码
  1. List carList1 = getList1......;  
  2. List carList2 = getList2......;  
  3. //以车号作为key  
  4. Map carMap = new HashMap();  
  5. for(Car car1 : carList1) carMap.put(car1.getNum(), car1);  
  6. for(Car car2 : carList2) {  
  7.     if(carMap.containsKey(car2 .getNum())){  
  8.     carMap.remove(car2 .getNum());//移除键值为车号相等的对象  
  9.     continue;//停止并返回继续循环  
  10.     }     
  11.     carMap.put(car2.getNum(), car2);  
  12. }  
  13. //循环map再对map中每个对象进行操作  
  14. Iterator> iter = carMap.entrySet().iterator();  
  15. Car entity = null;  
  16. while (iter.hasNext()) {  
  17.     Map.Entry entry = iter.next();  
  18.     entity= entry.getValue();  
  19. "white-space: pre;">    ......  
  20. }  

 

 要点:

1、把两个List放到HashMap中

2、在第二个List循环中进行判断

你可能感兴趣的:(java)