一、ArrayList和LinkedList比较
- ArrayList底层基于动态数组实现,LinkedList底层基于链表实现。
- 对于随机访问(get/set方法),ArrayList通过index直接定位到数组对应位置的节点,而LinkedList需要从头结点或尾节点开始遍历,直到寻找到目标节点,因此在效率上ArrayList优于LinkedList
- 对于插入和删除(add/remove方法),ArrayList需要移动目标节点后面的节点(使用System.arraycopy方法移动节点),而LinkedList只需修改目标节点前后节点的next或prev属性即可,因此在效率上LinkedList优于ArrayList。
数组:Array、int[]
集合:Set、List、ArrayList、Stack
还不是很理解这些,燃在一起。