实现List接口的常用类有ArrayList和LinkedList。它们都可以容纳所有类型的对象,包括null,允许重复,并且都保证元素的存储顺序。
ArrayLlist对数组进行了封装,实现了长度可变的数组。ArrayList存储数据的方式和数组相同,都是在内存中分配连续的空间。它的优点在于遍历元素和随机访问元素的效率比较高。
01345aaaaddddcccceeeedddd
图7.5 ArrayList存储方式示意图
LinkedList采用链表存储方式,优点在于插入、删除元素时效率比较高。它提供了额外的addFirst()、addLast()、removeFirst()和removeLast()等方法,可以在LinkedLIst的首部或尾部插入或删除操作。这些方法使得LinkedList可被用作堆栈(stack)或者队列(queue)。
aaaa------->dddd----->cccc------->aaaa----->
图7.6 LinkedLIst存储方式示意图
转载请注明原文地址: https://ju.6miu.com/read-38091.html