我对以下代码之间的区别感到困惑:
Map<Integer, Integer> numberMap = new HashMap<Integer, Integer>();
HashMap<Integer, Integer> numberMap = new HashMap<Integer, Integer>();
有人可以解释一下吗?感谢~~
答案 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概念以真正理解。