ArrayList 和LinkList区别

关键字:ArrayList、LinkList、HashMap

1、ArrayList优点:查找数组元素效率高。

2、LinkList优点:数据增删效率高。

具体实现:

ArrayList底层是个数组,根据下标或者遍历查找元素的速度很快。而数据的增删其实是新建了一个数组,所以增删效率低。

LinkList底层是是链表,每个链子里包含last(上一个链子的地址),value(存放的值),和next(下一个链子的地址)。想要查找一个元素,需要从头开始遍历,所以查找效率低。而增删只要动上一个链子的next和下一个链子的last地址就能实现,所以增删效率高。

 

 3、HashMap有点:综合了ArrayList和LinkList两者的优点

具体实现:HashMap默认是一个长度为16的ArrayList数组,每一个元素里存放的是LinkList。当知道一个对象时可以通过hashcode方法%16的余数知道下标,这样查找的效率高。

posted @ 2020-01-05 21:55  土豆烤鸭  阅读(1438)  评论(0编辑  收藏  举报