关键字:ArrayList、LinkList、HashMap
1、ArrayList优点:查找数组元素效率高。
2、LinkList优点:数据增删效率高。
具体实现:
ArrayList底层是个数组,根据下标或者遍历查找元素的速度很快。而数据的增删其实是新建了一个数组,所以增删效率低。
LinkList底层是是链表,每个链子里包含last(上一个链子的地址),value(存放的值),和next(下一个链子的地址)。想要查找一个元素,需要从头开始遍历,所以查找效率低。而增删只要动上一个链子的next和下一个链子的last地址就能实现,所以增删效率高。
3、HashMap有点:综合了ArrayList和LinkList两者的优点
具体实现:HashMap默认是一个长度为16的ArrayList数组,每一个元素里存放的是LinkList。当知道一个对象时可以通过hashcode方法%16的余数知道下标,这样查找的效率高。