java - 从两个列表中删除不重复的对象

标签 java list arraylist

好吧,我已经阅读了很多关于从 lists 中删除重复值的内容,但是关于维护那些实际上重复在另一个列表。我将尝试解释我的问题:

我必须从数据库中读取一些值并保存符合我的搜索条件的每个条目(整数条目)。此操作执行了 n 次,因为它是一个循环操作。返回的对象必须是一个列表(或 ArrayList,或任何最适合我的目的的列表实现)。

为了清楚起见,一些伪代码:

for (int i=0; i<nElements; i++) {

    tempList = getEntriesFromDb(i);

    if (i==0)
     result=tempList;

    else 
     //this is where I should maintain those entries that are in fact duplicated
     // in both tempList and result
     result = maintainDuplicates(result,tempList);

    }

retun result;

我想知道一些针对我的问题的建议。问题是,我可以创建一个新循环,从列表中提取每个条目,创建一个(第三个!!)时间列表 将它们保存在那里,等等。但我真的很清楚这将导致我的实现出现瓶颈。

如有任何帮助,我们将不胜感激,在此先致谢。

最佳答案

这里的关键操作是在另一个列表中查找一个列表的每个元素。这可能是一个缓慢的操作。如果列表可能很长,我建议创建一个包含一个列表的所有元素的 HashSet workingHash,然后在另一个列表上执行 retainAll(workingHash)。

关于java - 从两个列表中删除不重复的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17700933/

相关文章:

javascript - 从 JQuery 列表中删除单击的项目

java - 将 ArrayList 字符串转换为字符?

java - 如何从通用数组列表中找到最小值?

java - 从字符串中提取电话号码

java - JNI 分配损坏的堆

java - 使用 moxy 编码和解码更改 xml

java - 使用 lambda 函数对数组列表进行排序不起作用

java - 如何替换json文件中的值

python .count : Can't find correct syntax to count\n

list - 无法添加指向整个 div 部分的链接