一、HashMap和HashTable的区别与联系
- HashMap继承AbstractMap类,而HsahTable继承Dictionary类
- HashMap使用JDK1.2版本,HashTable使用JDK1.0版本
- HashMap线程不安全,HashTable线程安全(由于方法上加了Synchronized关键字)
HashMap的底层数据结构的数组+链表,逻辑结构图如下:

紫色代表hash数组,绿色代表链表,数组中的每个节点代表链表的头节点,链表是用来解决冲突的,当不同的key对应数组的同一位置时,就将其放入链表中。
二、ArrayList和LlnkedList的区别
- ArrayList的数据结构是动态数组,LinkedList的数据结构是链表
- ArrsyList便于进行get和set查找
- LinkedList便于进行新增和删除
本文详细对比了HashMap与HashTable的特性,包括它们的历史版本、线程安全性及底层数据结构;同时,也阐述了ArrayList与LinkedList在数据结构上的区别,以及它们在操作性能上的优劣,为读者提供了选择合适集合类的依据。
213

被折叠的 条评论
为什么被折叠?



