有两个map 分别为map1 {1={2=3,3=4}};map2 {1={3=4,2=3}},我要比较这两个map,认为他们是相等的,该如何比较呢? 在线急等!!!
你应该是要比较内容而不是对象,第一在map给值的时候就进行记录并判断,第二利用for拉出来比较,第三等其他高手解答
Map<String, Map<String, String>> map = new HashMap<String, Map<String, String>>();
Map<String, String> map2 = new HashMap<String, String>();
map2.put("3", "4");
map2.put("2", "3");
map.put("1", map2);
//第二个map
Map<String, Map<String, String>> maps = new HashMap<String, Map<String, String>>();
Map<String, String> maps2 = new HashMap<String, String>();
maps2.put("3", "4");
maps2.put("2", "3");
maps.put("1", maps2);
if(map.get("1").get("3").equals(maps.get("1").get("3"))&&map.get("1").get("2").equals(maps.get("1").get("2"))){
System.out.println("ok");
}
Map<String, Map<String, String>> map = new HashMap<String, Map<String, String>>();
Map<String, String> map2 = new HashMap<String, String>();
map2.put("3", "4");
map2.put("2", "3");
map.put("1", map2);
//第二个map
Map<String, Map<String, String>> maps = new HashMap<String, Map<String, String>>();
Map<String, String> maps2 = new HashMap<String, String>();
maps2.put("3", "4");
maps2.put("2", "3");
maps.put("1", maps2);
if(map.get("1").get("3").equals(maps.get("1").get("3"))&&map.get("1").get("2").equals(maps.get("1").get("2"))){
System.out.println("ok");
}
EL\ER算法,你玩jsp的时候那些EL\ER标签是不是觉得用的很爽呀,里面很多算法呢,如果你想学回复一下。
如果是hashmap,可以直接用equals方法,如果是treemap,可以转成json。json的tostring方法可以自动排序,在用equals方法。(这个方法在两个map完全一致或是只是顺序不同可用)