`
y806839048
  • 浏览: 1121033 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

list合并

阅读更多
从数据库中查询出记录,然后以对象的形式封装到List中去。此时假设有两个条件A和B,满足A的记录集和为ListA,满足B的记录集合为ListB,现在要将ListA和ListB合并为一个List,注意ListA和ListB中可能有重复的记录(因为可能某条记录即满足条件A又满足条件B),要过滤掉重复的记录。

方法过程:假设List中存放的对象都是Order对象,属性orderId用于标识一个唯一的Order对象
List<order></order> list = new ArrayList<order></order>();   
  
          if(ListA!=null){   
  
            Iterator it= ListA.iterator();   
  
            while(it.hasNext()){   
  
                list.add((Order)it.next());   
  
            }   
  
         }   
  
if(ListB!=null){   
  
            Iterator it= ListB.iterator();   
  
            while(it.hasNext()){   
  
              Order o=(Order)it.next();   
  
              if(list.contains(o))   
  
                  list.add(o);   
  
            }   
  
         }   
  
首先将ListA中的对象全部装入到list中,然后在装入ListB中对象的

          时候对ListB中的每个元素进行一下判断,看list中是否已存在该元素,这里我们使用List接口的contains()方法。它的原理是这样的:如上例中的 list.contains(o),系统会对list中的每个元素e调用o.equals(e),方法,加入list中有n个元素,那么会调用n次o.equals(e),只要有一次o.equals(e)返回了true,那么list.contains(o)返回true,否则返回false。因此为了很好的使用contains()方法,我们需要重新定义下Order类的equals方法,根据我们的业务逻辑,如果两个Order对象的orderId相同,那么我们认为它们代表同一条记录,于是equals方法定义如下:
public boolean equals(Object obj) {   
  
             if (this == obj)   
  
                 return true;   
  
             if (obj == null)   
  
                 return false;   
  
             if (getClass() != obj.getClass())   
  
                 return false;   
  
             final Order other = (Order) obj;   
  
              if(this.getOrderid()!=other.getOrderid())   
  
                 return false;   
  
             return true;   
  
        }   

这样只要ListB中有一条记录的orderId和list中的某条记录的orderId

相等,就认为该记录已存在,不再将它放入list,这样就避免了重复记录的存在。

分享到:
评论

相关推荐

    Java将2个List集合合并到一个List里面并排序工具类

    此方法用于将两个已经根据时间顺序排列的List合并成一个新的单一List,并进行排序。 2、该类设计有泛型,任何类型的集合List都可以调用该类。 3、使用者可以通过调用`ListMerger.mergeAndSortLists()`方法,传入两...

    java合并LIST

    Java合并LIST是指将两个或多个LIST合并成一个LIST的操作。在Java语言中,我们可以使用addAll()方法或循环遍历的方式来实现LIST的合并。 在本文中,我们将通过一个示例代码来演示如何使用Java语言来合并两个LIST。...

    Python将多个list合并为1个list的方法

    在Python编程语言中,有时我们需要将多个list合并成一个单一的list,以便于处理或存储数据。本篇文章将详细介绍三种不同的方法来实现这个目标,分别是使用"+"运算符、使用`extend()`方法以及使用切片操作。 1. **...

    java 实现多个list 合并成一个去掉重复的案例

    在Java编程中,合并多个List并去除重复元素是一项常见的任务,尤其在处理数据集合时。在给定的案例中,我们看到两种不同的方法来完成这个任务。首先,让我们详细讲解这两种方法。 ### 1. 使用`addAll()`和`...

    Scala的List类方法整合

    ### Scala的List类方法整合 在Scala编程语言中,`List` 类是处理有序集合的一种常见方式。本文将详细介绍 `List` 类中的多种方法及其用途,帮助开发者更好地理解和使用这些功能。 #### 1. `def + (elem: A): List...

    Python3中列表list合并的四种方法

    在Python3中,合并列表是常见的操作,尤其当你需要整合多个数据集合时。本文将详细介绍四种不同的方法来合并Python3中的列表,并在每个方法后进行简要总结。 ### 方法1: 使用"+"号合并列表 这是最直观且常用的方法...

    合并table的行

    当面对大量重复或相似的数据时,合并表格行的功能可以极大地提升数据展示的清晰度和用户体验。本文将深入探讨如何实现“合并table的行”这一功能,以及其背后的原理与应用场景。 ### 合并table的行:原理与实现 在...

    C语言写的合并链表——CreateMergeList

    - 当我们有两个已排序的链表`list1`和`list2`,合并的目标是创建一个新的已排序链表`merged_list`,其中包含`list1`和`list2`的所有元素,并保持排序顺序。 - 我们可以设置三个指针:`p1`指向`list1`,`p2`指向`...

    list去掉重复对象

    一个list里面有多个对象,对象有几个字段,要求在对象里面不要有重复的数据的实现。

    Python中将两个或多个list合成一个list的方法小结

    这里,我们设置了一个从 `len(list1)` 到 `len(list1)` 的空切片,并将其赋值为 `list2`,实现了 `list1` 和 `list2` 的合并。 总结: - 使用 `+` 运算符合并列表是最直接的方法,适用于不需要保留原始列表的情况...

    C++中list用法

    - `merge()`:将两个已排序的list合并成一个有序list。 - `unique()`:移除list中连续的重复元素。 - `reverse()`:反转list中的元素。 - `sort()`:对list中的元素进行排序。 5. **容量** - `size()`:返回...

    coq函数式编程 list

    7. **List合并**:`app`(append)函数用于连接两个列表。例如,`app [1; 2] [3; 4]`得到`[1; 2; 3; 4]`。 8. **List过滤**:`filter`函数根据给定的谓词对列表进行筛选。例如,`filter (fun x =&gt; x mod 2 = 0) [1;...

    ALV LIST列头合并实例

    根据提供的ABAP代码片段,我们可以了解到这是一段用于实现ALV(Application List Viewer)列表视图功能的程序,特别是涉及到列表头部的合并处理。以下是对关键知识点的详细解析: ### 报告名称与功能概述 - **报告...

    python实现两个字典合并,两个list合并

    在Python中,合并两个字典或两个列表是常见的数据处理任务。接下来我将详细介绍如何使用Python语言实现字典和列表的合并操作。 首先,我们来看如何合并两个字典。 在Python中,可以使用几种不同的方法来合并两个...

    POI实战总结

    10、添加区域,合并单元格 11、保存Excel文件 12、根据单元格不同属性返回字符串数值 13、常用单元格边框格式 14、设置字体和内容位置 15、插入图片 16、调整工作表位置 17、设置打印区域 18、标注脚注 19...

    easypoi 模板导出图片不显示,循环指令中合并单元格格式错乱问题解决

    (2)fe循环指令存在而合并单元格的时候格式错乱问题 (3)fe存在一对多关系的时候格式错乱问题 不想下载的可以参考博文 ,代码是一样的 https://blog.csdn.net/xubenxismile/article/details/123370375

    Java中 List《map》把里面map中某个key相同记录的其他key 的 value 合并

    Java中 List《map》把里面map中某个key相同记录的其他key 的 value 合并 Java中 List《map》把里面map中某个key相同记录的其他key 的 value 合并

    C#对多个集合和数组的操作方法(合并,去重,判断)

    在开发过程中.数组和集合的处理是最让我们担心.一般会用for or foreach 来处理一些操作.... 把集合A.B合并 List&lt;int&gt; Result = listA.Union(listB).ToList(); //剔除重复项 List&lt;int&gt; Result = listA.C

    用sortedlist,vsto合并两份excel

    本文将详细讲解如何利用SortedList和VSTO(Visual Studio Tools for Office)来合并两份Excel文件。 SortedList是.NET Framework中的一个类,它继承自DictionaryBase,是一个有序的键值对集合。它的主要特点是根据...

Global site tag (gtag.js) - Google Analytics