Java集合实现类区别与联系

ArrayList和LinkList相同点和区别:

共性:

都实现了List接口,都是list的实现类,处理list集合操作。

区别:

ArrayList:底层存储结构是数组,每个元素都有index标记元素所在位置,所以执行查询的时候速度比较快。但执行插入或删除时因为要移动这个元素后面所有元素的index,所以速度比较慢。而且但数组长度大于初始化长度时,每增加一个数组元素都需要扩容。

LinkList:底层存储结构是链表,和车链一样,一个元素只需要记录这个元素前面的那个元素和后面的那个元素,所以执行插入或删除时也只要改变前后两个元素的记录即可,因此比较快。但查询需要挨个查,因此比较慢。

Hashmap和hashtable共性和区别:

共性:

底层实现都是hash结构,既数组加链表。以长度为16的哈希结构为例。每个元素的key会除于16得到的余数1 2 3...16,所以排列的位置也是1 2 3...16,以key余数是1的所有元素为例,里面的元素存储结构是链表结构。

区别:

猜你喜欢

转载自www.cnblogs.com/zhougongjin/p/10285815.html