比较Java中的两个hashmap

比较Java中的两个hashmap,java,Java,在Java中比较hashmaps是否相等,以便确定它们是否具有相同的键和值的推荐方法是什么 Map<String,List<String>> data1 = new HashMap<>(); data1.put("file1", Arrays.asList("one","two","three")); Map<String,List<String>> data2 = new HashMap<>(); data2.put("

在Java中比较hashmaps是否相等,以便确定它们是否具有相同的键和值的推荐方法是什么

Map<String,List<String>> data1 = new HashMap<>();
data1.put("file1", Arrays.asList("one","two","three"));

Map<String,List<String>> data2 = new HashMap<>();
data2.put("file1", Arrays.asList("one","two","three"));
Map data1=newhashmap();
data1.put(“file1”,Arrays.asList(“一”,“二”,“三”);
Map data2=新的HashMap();
data2.put(“file1”,Arrays.asList(“一”,“二”,“三”);

默认情况下,
HashMap.equals()方法通过键值对比较两个HashMap。这意味着两个hashmap实例必须具有完全相同的键值对,并且必须具有相同的大小。

只需使用
equals
方法即可

boolean equals = data1.equals(data2);

简单地
data1.equals(data2)
这个问题可能还有其他一些考虑,比如:什么更高效(更快)?如果键相同,是否意味着这些值是隐含的?更多文档: