简述ArrarList和LinkedList的区别。1. 数据结构
ArrayList:基于动态数组,内存连续。
LinkedList:基于双向链表,内存不连续。
2. 访问效率
ArrayList:随机访问快,时间复杂度 O(1)。
LinkedList:随机访问慢,时间复杂度 O(n)。
3. 插入删除效率
ArrayList:中间操作慢,O(n);尾部快,平均 O(1)。
LinkedList:定位后操作快,O(1),但定位慢,O(n)。
4. 内存占用
ArrayList:较紧凑,可能预留浪费。
LinkedList:因节点引用,占用更高。
5. 使用场景
ArrayList:适合频繁查询。
LinkedList:适合频繁增删。