java-如何进行多层map的比较

问题描述

如何进行多层map的比较
有两个map 分别为map1 {1={2=33=4}};map2 {1={3=42=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"");    }

解决方案四:
ELER算法,你玩jsp的时候那些ELER标签是不是觉得用的很爽呀,里面很多算法呢,如果你想学回复一下。

解决方案五:
如果是hashmap,可以直接用equals方法,如果是treemap,可以转成json。json的tostring方法可以自动排序,在用equals方法。(这个方法在两个map完全一致或是只是顺序不同可用)

时间: 2024-12-28 16:51:39

java-如何进行多层map的比较的相关文章

java 文件输入输...-关于JAVA中文件的map写入操作

问题描述 关于JAVA中文件的map写入操作 想实现一个功能,首先有个map,不过只有一条数据.判断在指定路径是否有文件存在,如果没有则先创建再将map写入,如果指定路径有文件存在则直接写入或者,追加记录.谢谢了 解决方案 File.isFile方法可以判断文件是否存在: 写入的追加可以在申明输出流的时候加标志: 例如new FileOutputStream(File or filename, append) append为true表示追加写入: 如果要直接写入map,可以用序列化. 解决方案二

java集合框架07——Map架构与源码分析

前几节我们对Collection以及Collection中的List部分进行了分析,Collection中还有个Set,由于Set是基于Map实现的,所以这里我们先分析Map,后面章节再继续学习Set.首先我们看下Map架构图:         从图中可以看出:         1. Map是一个接口,Map中存储的内容是键值对(key-value).         2. 为了方便,我们抽象出AbstractMap类来让其他类继承,该类实现了Map中的大部分API,其他Map的具体实现就可以通

java List循环与Map循环的总结_java

java  List循环与Map循环的总结 做了一下list和map的总结,没有什么技术含量,就全当复习了一下api. 测试环境是在junit4下,如果没有自己写一个main方法也是一样的. 首先是List的三种循环: @Test public void ForListTest() { List<String> list = new ArrayList<String>(); list.add("1"); list.add("2"); list

Java基础-18总结Map,HashMap,HashMap与Hashtable区别,Collections工具类

你需要的是什么,直接评论留言. 获取更多资源加微信公众号"Java帮帮" (是公众号,不是微信好友哦) 还有"Java帮帮"今日头条号,技术文章与新闻,每日更新,欢迎阅读 学习交流请加Java帮帮交流QQ群553841695 分享是一种美德,分享更快乐! 1:Map(掌握) (1)将键映射到值的对象.一个映射不能包含重复的键:每个键最多只能映射到一个值.  (2)Map和Collection的区别? A:Map 存储的是键值对形式的元素,键唯一,值可以重复.夫妻对

Java小例子:根据Map对象的内容创建JavaBean

Java 提供 java.beans.Introspector 类,帮助我们分析 JavaBean 类当中 有哪些属性,通过它可以方便的对 JavaBean 对象属性进行取值和赋值操作.下 面是一个例子,根据 Map 对象中的内容创建 JavaBean 对象. 01.import java.beans.BeanInfo; 02.import java.beans.IntrospectionException; 03.import java.beans.Introspector; 04.impor

java中数组list map三者之间的互转介绍_java

三者之间转换关系,一张图清晰呈现.  上代码: 其中的maputils是apache的collection包. 复制代码 代码如下: package util; import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; import org.apache.commons.collections.MapUtil

JAVA集合框架之Map接口实现类

java.util.HashMap<K,V> 基于哈希表的 Map 接口的实现.此实现提供所有可选的映射操作,并允许使用 null 值和 null 键.(除了非同步和允许使用 null 之外,HashMap 类与 Hashtable 大致相同.)此类不保证映射的顺序,特别是它不保证该顺序恒久不变. 此实现假定哈希函数将元素适当地分布在各桶之间,可为基本操作(get 和 put)提供稳定的性能.迭代 collection 视图所需的时间与 HashMap 实例的"容量"(桶的

java算法-关于java List&amp;amp;lt;Map&amp;amp;gt; 排序的问题

问题描述 关于java List<Map> 排序的问题 具体看一下代码第一次调用该方法可以排序但第二次调用的时候他就根本没有调用里面的compare()这个方法了排序还是执行的上次的那个请问下这是什么问题? public static List<Map<String Object>> sortList(final String sortOrderfinal String sortNameList<Map<String Object>> list)

java.容器类(list,queue,map,set)

1.Collection public interface Collection<E> extendsIterable<E>  Set,Queue和List 都继承了Collection.Map没有. Collection接口的方法:     boolean add(Object o)   :向集合中加入一个对象的引用     void clear()                        :删除集合中所有的对象,即不再持有这些对象的引用     boolean isEmp