java使用map去重复

来源:互联网 发布:女用催情药 知乎 编辑:程序博客网 时间:2024/05/22 07:04

今天去京东面试了,感觉自己技术方面还是太欠缺,一是由于这两年的工作绝大部分都是维护工作,跟BUG和数据打交道比较多,二是由于自己太懒了,工作之余的学习太少(这才是主要原因有木有闭嘴)。跟多数人的想法一样,总是想把工作和学习统一结合,但是真正做到这样的恐怕很少,多说是泪,下面贴一道今天的笔试题,不难,感觉有可取之处(主要是当时没写出来,回来又机写了一下大笑)。

题目大概是这样的:现在有两组数据,字段为id、value两个,选择java的一种容器分别获取该数据(忽略数据获取过程),把其中完全的重复部分从容器2中删掉。

当时第一个想法就是用map,又忘了具体的实现方法,回来后机写其实不难:

table11a2b3c4d5etable21g2f3c4t5e 

public class Test {public static void main(String[] args) {Map<Number, String> map1 = new HashMap<Number, String>();Map<Number, String> map2 = new HashMap<Number, String>();map1.put(1, "a");map1.put(2, "b");map1.put(3, "c");map1.put(4, "d");map1.put(5, "e");map2.put(1, "g");map2.put(2, "f");map2.put(3, "c");map2.put(4, "t");map2.put(5, "e");boolean isEquals = false;for(Object o : map1.keySet()){isEquals = map2.containsKey(o);if(isEquals){isEquals = map1.get(o).equals(map2.get(o));}if(isEquals){map2.remove(o);}}for(Object o : map2.keySet()){System.out.println(o.toString() + ":" + map2.get(o));}}}

感觉这样应该没问题,如果有更好的方法欢迎讨论啊大笑

1 0
原创粉丝点击