java– 比较hasmap键中的ArrayList

java– 比较hasmap键中的ArrayList,第1张

概述我有一个String类型的哈希映射,ArrayList<String>.两个不同的密钥存储在哈希映射中,其中包含值列表.现在我必须比较不同键的值并提取公共值.怎么能实现这个功能?以下是我正在使用的Hashmap的类型:示例列表:{Size=[43,53,63,48,58],Color=[66,62,65,64,63]}Hereisc

我有一个String类型的哈希映射,ArrayList< String>.两个不同的密钥存储在哈希映射中,其中包含值列表.

现在我必须比较不同键的值并提取公共值.怎么能实现这个功能?

以下是我正在使用的Hashmap的类型:

示例列表:

{Size=[43, 53, 63, 48, 58], color=[66, 62, 65, 64, 63]}

Here is code…

    private HashMap<String, ArrayList<String>> mapMatchvalues = new HashMap<>();     for (Map.Entry<String, ArrayList<String>> map3 : mapMatchvalues.entrySet()) {     List<String> getList1 = new ArrayList<>();     getList1 = map3.getValue();           for (int i = 0; i < getList1.size(); i++) {                   if (getList.contains(getList1.get(i))) {                    //Print values                    } else {                   // Print if not matched....             }      }}

解决方法:

您可以使用retainAll.如果您不想影响现有列表中的值,请使用新的ArrayList.

List<String> common = new ArrayList<>(mapMatchvalues.get("key1"));common.retainAll(mapMatchvalues.get("key2"));

common将包含列表中的匹配元素.

如果地图中有多个条目,则可以循环显示

// initialize the common List with ListList<String> common = new ArrayList<>(mapMatchvalues.entrySet().iterator().next().getValue());for (List<String> List : mapMatchvalues.values()) {    common.retainAll(List);}
总结

以上是内存溢出为你收集整理的java – 比较hasmap键中的ArrayList全部内容,希望文章能够帮你解决java – 比较hasmap键中的ArrayList所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1108890.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-29
下一篇2022-05-29

发表评论

登录后才能评论

评论列表(0条)

    保存