栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Java比较两个列表

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java比较两个列表

编辑

这是两个版本。一种使用

ArrayList
,另一种使用
HashSet

比较它们并从中创建您自己的版本,直到获得所需的内容。

这应该足以覆盖以下内容:

PS:这不是学校作业:)因此,如果您只是指导我就足够了

您的问题的一部分。

继续原始答案:

您可以为此使用

java.util.Collection
java.util.ArrayList

该中的retainAll方法执行以下操作:

仅保留此集合中包含在指定集合中的元素

看到这个例子:

import java.util.Collection;import java.util.ArrayList;import java.util.Arrays;public class Repeated {    public static void main( String  [] args ) {        Collection listOne = new ArrayList(Arrays.asList("milan","dingo", "elpha", "hafil", "meat", "iga", "neeta.peeta"));        Collection listTwo = new ArrayList(Arrays.asList("hafil", "iga", "binga", "mike", "dingo"));        listOne.retainAll( listTwo );        System.out.println( listOne );    }}

编辑

对于第二部分(相似的值),可以使用removeAll方法:

删除此集合的所有元素,这些元素也包含在指定集合中。

第二个版本也为您提供相似的值,并处理重复的值(通过丢弃它们)。

这次

Collection
可能是
a Set
而不是
a List
(不同之处在于Set不允许重复的值)

import java.util.Collection;import java.util.HashSet;import java.util.Arrays;class Repeated {      public static void main( String  [] args ) {          Collection<String> listOne = Arrays.asList("milan","iga",        "dingo","iga",        "elpha","iga",        "hafil","iga",        "meat","iga",         "neeta.peeta","iga");          Collection<String> listTwo = Arrays.asList("hafil",         "iga",         "binga",          "mike",          "dingo","dingo","dingo");          Collection<String> similar = new HashSet<String>( listOne );          Collection<String> different = new HashSet<String>();          different.addAll( listOne );          different.addAll( listTwo );          similar.retainAll( listTwo );          different.removeAll( similar );          System.out.printf("One:%s%nTwo:%s%nSimilar:%s%nDifferent:%s%n", listOne, listTwo, similar, different);      }}

输出:

$ java RepeatedOne:[milan, iga, dingo, iga, elpha, iga, hafil, iga, meat, iga, neeta.peeta, iga]Two:[hafil, iga, binga, mike, dingo, dingo, dingo]Similar:[dingo, iga, hafil]Different:[mike, binga, milan, meat, elpha, neeta.peeta]

如果它不能完全满足您的需求,则可以为您提供一个良好的开端,因此您可以从这里开始。

给读者的问题:您将如何包括所有重复的值?

分享改善这个答案



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/456455.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号