java中的Map和hashMap的区别~~

时间:2016-03-16 15:03:33

标签: dictionary hashmap difference

我对以下代码之间的区别感到困惑:

Map<Integer, Integer> numberMap = new HashMap<Integer, Integer>();
HashMap<Integer, Integer> numberMap = new HashMap<Integer, Integer>();

有人可以解释一下吗?感谢~~

1 个答案:

答案 0 :(得分:0)

嗯,我假设您知道OOP概念,所以......要简短。

地图是一个界面。 HashMap是一个实现Map的类。

按要求编辑: 接口,在我们的例子中,Map接口只是一组公共函数标题,任何想要使用它的类都可以实现它自己的逻辑。 您可能会将其视为模板或某种&#34; Black Box&#34;有输入和输出。

看看这里:{https://docs.oracle.com/javase/7/docs/api/java/util/Map.html]

HashMap类将这些函数实现为Hash,另外可以添加更多函数.. class HashMap implements Map 有一个TreeMap,它有自己的实现。 class TreeMap implements Map

接口适用于许多情况,如果您想迭代可能实现相同接口的结构,那么开采的接口就会很好。

List<Map> someMap = new ArrayList<>();
someMap.add (new HashMap);
someMap.add (new TreeMap);

无论如何建议您学习OOP概念以真正理解。