Java 教程

Java 控制语句

面向对象编程

Java 内置类

Java 文件处理

Java 错误和异常

Java 多线程

Java 同步

Java 网络

Java 集合

Java 接口

Java 数据结构

Java 集合算法

高级 Java

Java 杂项

Java API 和框架

Java 类参考

Java 有用资源

Java - LinkedList 类



LinkedList 类扩展了 AbstractSequentialList 并实现了 List 接口。它提供了一个链接列表数据结构。

以下是 LinkedList 类支持的构造函数。

序号 构造函数和描述
1

LinkedList( )

此构造函数构建一个空的链接列表。

2

LinkedList(Collection c)

此构造函数构建一个链接列表,该列表使用集合 c 的元素进行初始化。

除了从其父类继承的方法外,LinkedList 还定义了以下方法:

序号 方法和描述
1

void add(int index, Object element)

在此列表的指定位置 index 插入指定的元素。如果指定的索引超出范围 (index < 0 || index > size()),则抛出 IndexOutOfBoundsException。

2

boolean add(Object o)

将指定的元素追加到此列表的末尾。

3

boolean addAll(Collection c)

将指定集合中的所有元素追加到此列表的末尾,顺序与指定集合的迭代器返回的顺序相同。如果指定的集合为空,则抛出 NullPointerException。

4

boolean addAll(int index, Collection c)

将指定集合中的所有元素插入到此列表中,从指定位置开始。如果指定的集合为空,则抛出 NullPointerException。

5

void addFirst(Object o)

在此列表的开头插入给定的元素。

6

void addLast(Object o)

将给定的元素追加到此列表的末尾。

7

void clear()

从此列表中删除所有元素。

8

Object clone()

返回此 LinkedList 的浅拷贝。

9

boolean contains(Object o)

如果此列表包含指定的元素,则返回 true。更正式地说,当且仅当此列表至少包含一个元素 e 使得 (o==null ? e==null : o.equals(e)) 时,返回 true。

10

Object get(int index)

返回此列表中指定位置的元素。如果指定的索引超出范围 (index < 0 || index >= size()),则抛出 IndexOutOfBoundsException。

11

Object getFirst()

返回此列表中的第一个元素。如果此列表为空,则抛出 NoSuchElementException。

12

Object getLast()

返回此列表中的最后一个元素。如果此列表为空,则抛出 NoSuchElementException。

13

int indexOf(Object o)

返回此列表中指定元素第一次出现的索引,如果列表不包含此元素,则返回 -1。

14

int lastIndexOf(Object o)

返回此列表中指定元素最后一次出现的索引,如果列表不包含此元素,则返回 -1。

15

ListIterator listIterator(int index)

返回此列表中元素的列表迭代器(按正确顺序),从列表中的指定位置开始。如果指定的索引超出范围 (index < 0 || index >= size()),则抛出 IndexOutOfBoundsException。

16

Object remove(int index)

从此列表中删除指定位置的元素。如果此列表为空,则抛出 NoSuchElementException。

17

boolean remove(Object o)

从此列表中删除指定元素的第一次出现。如果此列表为空,则抛出 NoSuchElementException。如果指定的索引超出范围 (index < 0 || index >= size()),则抛出 IndexOutOfBoundsException。

18

Object removeFirst()

从此列表中删除并返回第一个元素。如果此列表为空,则抛出 NoSuchElementException。

19

Object removeLast()

从此列表中删除并返回最后一个元素。如果此列表为空,则抛出 NoSuchElementException。

20

Object set(int index, Object element)

将此列表中指定位置的元素替换为指定的元素。如果指定的索引超出范围 (index < 0 || index >= size()),则抛出 IndexOutOfBoundsException。

21

int size()

返回此列表中的元素数。

22

Object[] toArray()

返回一个包含此列表中所有元素的数组,顺序正确。如果指定的数组为空,则抛出 NullPointerException。

23

Object[] toArray(Object[] a)

返回一个包含此列表中所有元素的数组,顺序正确;返回数组的运行时类型与指定数组的类型相同。

示例

以下程序说明了 LinkedList 支持的几种方法:

import java.util.*;
public class LinkedListDemo {

   public static void main(String args[]) {
      // create a linked list
      LinkedList ll = new LinkedList();
      
      // add elements to the linked list
      ll.add("F");
      ll.add("B");
      ll.add("D");
      ll.add("E");
      ll.add("C");
      ll.addLast("Z");
      ll.addFirst("A");
      ll.add(1, "A2");
      System.out.println("Original contents of ll: " + ll);

      // remove elements from the linked list
      ll.remove("F");
      ll.remove(2);
      System.out.println("Contents of ll after deletion: " + ll);
      
      // remove first and last elements
      ll.removeFirst();
      ll.removeLast();
      System.out.println("ll after deleting first and last: " + ll);

      // get and set a value
      Object val = ll.get(2);
      ll.set(2, (String) val + " Changed");
      System.out.println("ll after change: " + ll);
   }
}

这将产生以下结果:

输出

Original contents of ll: [A, A2, F, B, D, E, C, Z]
Contents of ll after deletion: [A, A2, D, E, C, Z]
ll after deleting first and last: [A2, D, E, C]
ll after change: [A2, D, E Changed, C]
java_collections.htm
广告