我见过两种不同的创建 HashMap 的方法:
第一种方式:
Map<Type, Type> map = new HashMap<>();
注意:这个需要导入java.util.Map;
第二种方式:
HashMap<Type, Type> map = new HashMap<Type, Type>();
我只使用第二个进行练习,但是,我想了解这两种情况的差异(如果有的话)。
在java 7左右,引入了菱形运算符。
只要编译器可以从上下文推断类型参数,您就可以用一组空的类型参数 (<>) 替换调用泛型类的构造函数所需的类型参数。这对尖括号非正式地称为菱形。
Map
因此,它们在技术上与更高版本的编译器相同,但始终建议使用第二种方法,特别是对于那些正在学习的人,因为它被认为是一种良好的类型安全实践。
您还可以检查https://www.javatpoint.com/diamond-operator-in-java。
对于map和hashmap来说,map只是一个接口类型,它描述了它是一组键、值对。 Hashmap 就是这个的实现。