在合并包含列表时从包含列表的列表对象中删除重复项

     2023-03-08     178

关键词:

【中文标题】在合并包含列表时从包含列表的列表对象中删除重复项【英文标题】:Remove duplicates from a list object containing a list while merging the containing list 【发布时间】:2018-03-27 19:08:30 【问题描述】:
I hava a POJO Classes:
    class Response 
        private List<Transmission> transmission;
    
    class Transmission 
        private String transmission_id;
        private String transmission_name;
        private String transmission_type;
        private List<Page> page;
    
    class Page 
        private String page_id;
        private String page_no;
        private String page_type;
    

我从数据库返回的响应列表为:

transmission_id     transmission_name  transmission_type    page_id page_no         page_loaction


000066              XXX                     AAA                 1           1                 cdrive                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
000066              XXX                     AAA                 2           2                 cddfdrive                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
000066              XXX                     AAA                 3           3                 asdecdrive

000067              YYY                     BBB                 1           1                 dDrive                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
000067              YYY                     BBB                 2           2                 dDadecrive                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
000067              YYY                     BBB                 3           3                 dqwdDrive

我想返回通过修改从传输列表中删除重复元素返回的响应类,这意味着每个传输_id、传输_名称、传输类型 我想要实现的是通过只采用独特的传输元素来实现以下输出

Ex:  <Transmission>
         <transmission_id>000066 </transmission_id>
         < transmission_name> XXX </transmission_name>
         < transmission_type> AAA </transmission_type>
         <Page>
            < page_id>1</ page_id>
            <page_no>1</page_no>
            <page_loaction>cdrive</page_loaction>
         </Page>
         <Page>
            < page_id>2</ page_id>
            <page_no>2</page_no>
            <page_loaction>cdrive</page_loaction>
         </Page>
         <Page>
            < page_id>3</ page_id>
            <page_no>3</page_no>
            <page_loaction>cdrive</page_loaction>
         </Page>
         </Transmission>
          <Transmission>
         <transmission_id>000067 </transmission_id>
         < transmission_name> YYY </transmission_name>
         < transmission_type> BBB </transmission_type>
         <Page>
            < page_id>1</ page_id>
            <page_no>2</page_no>
            <page_loaction> dDrive</page_loaction>
         </Page>
         <Page>
            < page_id>2</ page_id>
            <page_no>2</page_no>
            <page_loaction> dDrive</page_loaction>
         </Page>
         <Page>
            < page_id>3</ page_id>
            <page_no>3</page_no>
            <page_loaction>dDrive/page_loaction>
         </Page>
         </Transmission>

【问题讨论】:

欢迎来到 SO!!你的意思是你的独特元素是由transmission_id, transmission_name, transmission_type? 那么,到目前为止,您尝试了什么?至少是蛮力方法?查看您的列表并删除所有重复项? 【参考方案1】:

Transmission 上覆盖equalshashcode。将所有结果添加到Set&lt;Transmission&gt;,然后列出该集合。

*编辑

Response addTransmission 添加一个函数,您可以在其中检查您是否已经有一个传输并向其中添加一个页面或使用该页面创建一个新页面。

您可能希望使用像 hibernate 这样的 ORM 来为您处理映射

【讨论】:

但是传输有另一个列表页面,它不是重复的,所以它没有给出我想要的结果

合并包含在一个大列表中的重复项目的列表

】合并包含在一个大列表中的重复项目的列表【英文标题】:Mergelistswithduplicateditemswhicharewithingonebiglist【发布时间】:2018-10-2109:58:32【问题描述】:我需要一种有效的算法将具有重复项的列表合并到一个列表中。这些列表以不同... 查看详情

在 Dart 中合并两个对象列表

】在Dart中合并两个对象列表【英文标题】:MergetwolistsofobjectsinDart【发布时间】:2021-09-0412:03:51【问题描述】:我有具有参数名称和参数计数器的对象。这些对象存储在列表中。我列表中的某些项目具有重复的参数“名称”。我... 查看详情

从 Java 中的多个列表中合并和删除重复项的最佳方法

】从Java中的多个列表中合并和删除重复项的最佳方法【英文标题】:BestwaytomergeandremoveduplicatesfrommultiplelistsinJava【发布时间】:2013-05-0310:13:28【问题描述】:我有一种情况,我将收到2+ArrayList&lt;Widget&gt;并且我需要能够合并... 查看详情

迭代时从Python列表中删除项目[重复]

...E\'添加到玩家列表中,但后来,当我想从日程列表中删除包含\'DELETE\'的所有项目时,我不能-一个总是左边。请看一下代码—— 查看详情

在递减然后递增并且可能包含重复项的列表中查找最小值

】在递减然后递增并且可能包含重复项的列表中查找最小值【英文标题】:FindingtheminimuminalistthatisDecreasingandthenIncreasingandmightcontainduplicates【发布时间】:2019-03-1911:24:54【问题描述】:给定一个可以分成两部分L[:z]和L[z:]的列表,... 查看详情

删除列表中的重复项

...重复项,如果有,它会删除它们并返回一个新列表,其中包含未重复/删除的项目。这是我所拥有的,但老实说我不知道​​该怎么做。defremove_duplicates():t=[\'a\',\'b\',\'c\',\'d\']t2=[\'a\',\'c\' 查看详情

合并字典列表以删除所有重复项

】合并字典列表以删除所有重复项【英文标题】:Merginglistofdictionariestoremoveallduplicates【发布时间】:2021-12-0310:22:37【问题描述】:我正在尝试获取一个简单的Python代码来将字典列表合并到一个精简列表中,因为我有很多重复的at... 查看详情

使用 Python 删除对象列表中的重复项

】使用Python删除对象列表中的重复项【英文标题】:RemoveduplicatesinlistofobjectwithPython【发布时间】:2011-05-0907:53:13【问题描述】:我有一个对象列表,我有一个充满记录的数据库表。我的对象列表具有标题属性,我想从列表中删... 查看详情

从一个列表中删除元素如果不包含在另一个列表中。 C# [重复]

】从一个列表中删除元素如果不包含在另一个列表中。C#[重复]【英文标题】:RemovingElementsFromOneListIfnotcontainedinanotherList.C#[duplicate]【发布时间】:2019-10-1101:13:39【问题描述】:我从List&lt;&gt;A中删除不在List&lt;&gt;B中的... 查看详情

从子列表中删除对象已删除的android

...8-1000:01:53【问题描述】:我有一个类对象的arrayList。此类包含从Firebase接收的数据。但是我想在firebase中删除一个子对象时从列表中删除一个对象,但是两个对象不匹配,因为快照创建了一个包含相同数据的类的新对象。这是我... 查看详情

如何在列表c#中查找包含n个或更多顺序重复项的组

】如何在列表c#中查找包含n个或更多顺序重复项的组【英文标题】:Howtofindgroupsofnormoresequentiallyrepeateditemsinalistc#【发布时间】:2021-05-3017:34:20【问题描述】:如何找到n和更多\'b\'字符的组并将它们放入新列表中?组-我想找到的n... 查看详情

在Python中合并列表项[重复]

】在Python中合并列表项[重复]【英文标题】:MerginglistsitemsinPython[duplicate]【发布时间】:2012-04-1302:09:13【问题描述】:可能重复:joinlistoflistsinpythonFlatten(anirregular)listoflistsinPython所以,我需要使用python合并部分列表,但仍然无法... 查看详情

c#在包含另一个列表的对象列表中查找重复的属性(代码片段)

我有一个对象列表,让我们调用对象People。每个人都有他们要求的休假日列表。我正在尝试创建一个Linq查询,以了解有多少人请求了相同的休假日。我没有运气。任何建议,或者可能是正确方向的推动?答案你可以创建这样的... 查看详情

从包含特定字符的列表中删除元素[重复]

】从包含特定字符的列表中删除元素[重复]【英文标题】:Removingelementsfromalistcontainingspecificcharacters[duplicate]【发布时间】:2011-03-2521:20:53【问题描述】:我想删除列表中包含(或不包含)一组特定字符的所有元素,但是我遇到了... 查看详情

使用包含重复项的列表替换 ID

】使用包含重复项的列表替换ID【英文标题】:ReplacingIDsusingalistfullofduplicates【发布时间】:2021-11-2919:13:35【问题描述】:这是我的问题。基本上,我有一个有很多比较的数据框。当value=0时,这意味着我们在相同的观察前面,每... 查看详情

删除列表中的最大值,保留重复项

...tes【发布时间】:2021-12-2900:15:20【问题描述】:我有一个包含整数的列表。例如,一行如下所示:my_list=[11,11,10]我想删除最大值,目的是保留2个最小值。但是,当我运行此代码时,它不仅会降低最大值,还会降低其重复值:>&... 查看详情

C# 合并重复列表项并将它们的第二个值求和(2D 对象列表)

】C#合并重复列表项并将它们的第二个值求和(2D对象列表)【英文标题】:C#Mergingduplicatelistitemsandsumtheirsecondvalues(2DObjectList)【发布时间】:2021-12-1119:14:10【问题描述】:所以,基本上我已经创建了一个对象实例并在其中添加了... 查看详情

Python将对象的方法添加到包含列表[重复]

】Python将对象的方法添加到包含列表[重复]【英文标题】:Pythonaddmethodsofobjectstocontaininglist[duplicate]【发布时间】:2021-11-2417:12:58【问题描述】:我有一个包含同一类对象的列表。现在我想让该列表成为一个容器类,它与它包含的... 查看详情