
我有一个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所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)