ArrayList和LinkedList在使用时感觉都一样,都能用get()、add()等函数,那么他们俩使用时的区别是什么?
可以这么告诉你,在普通业务开发中,95%的情况下不管你是使用ArrayList还是LinkedList,你都无法感觉出区别。因为他们都实现了List接口,也都是是 AbstractList 的实现类,可以说是双胞胎兄弟,但是他们一个内在是数组,一个内在的双向链表。只有在某些特定的业务或者算法场景下,你需要用到数组和双向链表的特性时候,他们才有区别。一点知觉的理解,见笑
谢谢
数据量不大的话选择哪个都无所谓,区别不大;如果数据量较大了,就需要看你对list的操作了,底层数据结构不同,数组是连续的内存空间,链表可以是不连续的而且需要额外空间指向前后节点,比如频繁的删除操作链表就比数组的效率高,而通过索引查询数组的效率比链表高,而且都是O(1)与O(n)的差距;
谢谢