ArrayList用数组作为其保存元素的数据结构,而LinkedList采用的是链表的数据结构。而ArrayList和LinkedList都是线性表list。但LinkedList并不具备随机访问能力,而ArrayList拥有。
对于链表集合,首先(1)我们使用API里现成的LinkedList类来进行一些分析,之后(2)我们再用自身的java代码实现链表及其LinkedList中相对应的方法。
(1)现成API接口的分析使用
定义如下,与ArrayList类似。
LinkedList<String> test = new LinkedList<String>();
之前提到,LinkedList并不具备随机访问能力,也就意味着要是想删除某个元素,需要从头开始找,直到找到指定位置的元素,然后将其删除。我们试想下,要是这个待删除的元素排在链表的很后面,那么链表的这种遍历方式其实也是很费时间的。当然,如果是双向链表,那么对靠近链表头部和尾部的数据元素的操作还是比较方便的,但对处于链表中间的元素的操作就显得有些费劲。
时间: 2024-10-23 11:39:41