比较两个map同一个kev的value值大小

qq_36604562 2018-11-01 07:31:12
比如我现在有一个map 的m=1(这里的m可以变化也可能比2大也可能比2小)
另一个map的m为<2 请问这里怎么写判断 如果小于2就写个提示 大于话就不用提示
...全文
214 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
qybao 2018-11-02
  • 打赏
  • 举报
回复
循环第一个map的key,如果第二个map也存在相同的key,怎OK,否则同时取出两个map的value,判断第一个map的value在第二个范围内,则OK for example
for (String key : map1.keySet()) {
    if (! map2.containsKey(key)) return false;
    String v1 = map1.get(key);
    String v2 = map2.get(key);
    if (! matches(v1, v2)) return false;
}
return true;

//matches方法是你自己的业务逻辑,怎么判断v1符合v2
//比如你map2是2-7,map1是7
public boolean matches(String s1, String s2) {
    String regex = "\\[" + s2 + "\\]";
    return s1.matches(regex);
}

十八道胡同 2018-11-02
  • 打赏
  • 举报
回复
引用 4 楼 qq_36604562 的回复:
[quote=引用 1 楼 weixin_43564690 的回复:]
循环遍历map的key,key相等,取其值比较即可


现在这边的情况是这样的 一个map里面的值mys=7,06,另一个map里面相同的key设置的值是2~7,2的意思表示小于 也就是小于7 然后这样去比较相同key情况下 前面值符不符合这个后面map里面的值[/quote]

一样的呀,同时用map.get(key)取得两个map里面的value,然后分别解析,看下那个大哪个小
qq_36604562 2018-11-01
  • 打赏
  • 举报
回复
引用 2 楼 Cheng_Zzz 的回复:
if(map1.get("key")>map2.get("key")){
map1大
}else{
map2 大
}

这样么


现在这边的情况是这样的 一个map里面的值mys=7,06,另一个map里面相同的key设置的值是2~7,2的意思表示小于 也就是小于7 然后这样去比较相同key情况下 前面值符不符合这个后面map里面的值
qq_36604562 2018-11-01
  • 打赏
  • 举报
回复
引用 1 楼 weixin_43564690 的回复:
循环遍历map的key,key相等,取其值比较即可


现在这边的情况是这样的 一个map里面的值mys=7,06,另一个map里面相同的key设置的值是2~7,2的意思表示小于 也就是小于7 然后这样去比较相同key情况下 前面值符不符合这个后面map里面的值
qq_36604562 2018-11-01
  • 打赏
  • 举报
回复
现在这边的情况是这样的 一个map里面的值mys=7,06,另一个map里面相同的key设置的值是2~7,2的意思表示小于 也就是小于7 然后这样去比较相同key情况下 前面值符不符合这个后面map里面的值
Cheng_Zzz 2018-11-01
  • 打赏
  • 举报
回复
if(map1.get("key")>map2.get("key")){
map1大
}else{
map2 大
}

这样么
酷酷小饼干 2018-11-01
  • 打赏
  • 举报
回复
循环遍历map的key,key相等,取其值比较即可

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧