HashMap 是一个散列表,它存储的内容是键值对(key-value)映射。
HashMap 实现了 Map 接口,根据键的 HashCode 值存储数据,具有很快的访问速度,最多允许一条记录的键为 null,不支持线程同步。
HashMap 是无序的,即不会记录插入的顺序。
HashMap 继承于AbstractMap,实现了 Map、Cloneable、java.io.Serializable 接口。
HashMap 中的元素实际上是对象,一些常见的基本类型可以使用它的包装类。
常用方法:
(1)添加元素 put(),如果相同的key就是修改
查了里面的数据
或者
(2)访问元素 get(key)
(3)删除元素 remove(key)
(4) 获取长度 size()
(5)循环迭代 keySet() values()
通过名字就可以发现key是使用Set存储,values是使用Collection存储
可以使用 for-each 来迭代 HashMap 中的元素。
如果你只想获取 key,可以使用 keySet() 方法,然后可以通过 get(key) 获取对应的 value,如果你只想获取 value,可以使用 values() 方法。
二泛型
为什么要使用泛型
(1)保证了类型的安全性
在没有泛型之前,从集合中读取到的每一个对象都必须进行类型转换,如果不小心插入了错误的类型对象,在运行时的转换处理就会出错
没有使用泛型
使用泛型![]()
在泛型里面使用比较器![]()
泛型在接口的使用