标签 ArrayList 下的文章

概述

LinkedListlistDeque接口的双链列表实现。它实现所有可选的列表操作,并允许所有元素(包括null)。

特点

下面你可以找到LinkedList最重要的属性:

  • 索引到列表中的操作将从头到尾遍历列表,以更接近指定索引的操作为准
  • 它不是同步的
  • 它的迭代器和ListIterator迭代器是快速失败的(这意味着在迭代器创建之后,如果列表被修改,将抛出ConcurrentModificationException)
  • 每个元素都是一个节点,它保存对下一个和上一个元素的引用
  • 它保持插入顺序

尽管LinkedList未同步,但我们可以通过调用Collections.SynchronizedList方法检索他的同步版本,如:

List list = Collections.synchronizedList(new LinkedList(...));

- 阅读剩余部分 -

概述

在本文中,我们将研究Java集合框架中的ArrayList类。我们将讨论它的属性、常用用例以及它的优缺点。

ArrayList包含在Java核心库中,因此不需要任何其他库。为了使用它,只需添加以下import语句:

import java.util.ArrayList;

List表示一个有序的值序列,其中某些值可以重复。

ArrayList是构建在数组之上的列表实现之一,它能够在添加/删除元素时动态地增长和收缩。元素的索引可以很容易地从零开始访问。该实现具有以下特性:

  • 随机访问需要O(1)
  • 添加元素需要摊销固定时间O(1)
  • 插入/删除需要O(n)
  • 搜索未排序数组需要O(n),排序数组需要O(log n)

- 阅读剩余部分 -