map的实现类主要包括HashMap、HashTable、TreeMap、Properties。
HashMap采用哈希算法实现,要求键不能重复,如果发生重复,新的键会替代旧的键。
HashMap底层实现采用了哈希表,这是一种非常重要的数据结构。对于我们以后理解很多技术都非常有帮助(比如:redis数据库的核心技术和HashMap一样),因此,非常有必要让大家理解。
数据结构中由数组和链表来实现对数据的存储,他们各有特点。
(1) 数组:占用空间连续。 寻址容易,查询速度快。但是,增加和删除效率非常低。
(2) 链表:占用空间不连续。 寻址困难,查询速度慢。但是,增加和删除效率非常高。
HashMap和HashTable 的区别
1、HashMap线程不安全,效率高,允许键或值为null
2、HashTable线程安全,效率不高,不允许键或值为null