LinkedList是两个实现List接口的类之一,它是基于链表的。
//ArrayList
public class LinkedList<E> extends AbstractSequentialList<E> implements List<E>,Deque<E>, Cloneable, Serializable
1. ArrayList方法如下:
- 构造方法摘要
//构造方法摘要
LinkedList() //构造一个空列表。
LinkedList(Collection<? extends E> c) //构造一个包含指定 collection 中的元素的列表,这些元素按其 collection 的迭代器返回的顺序排列。
- 方法摘要
//方法摘要
boolean add(E e) //将指定元素添加到此列表的结尾。
void add(int index, E element) //在此列表中指定的位置插入指定的元素。
boolean addAll(Collection<? extends E> c)
//添加指定 collection 中的所有元素到此列表的结尾,顺序是指定 collection 的迭代器返回这些元素的顺序。
boolean addAll(int index, Collection<? extends E> c)
//将指定 collection 中的所有元素从指定位置开始插入此列表。
void addFirst(E e) //将指定元素插入此列表的开头。
void addLast(E e) //将指定元素添加到此列表的结尾。
void clear() //从此列表中移除所有元素。
Object clone() //返回此 LinkedList 的浅表副本。
boolean contains(Object o) // 如果此列表包含指定元素,则返回 true。
E element() //获取但不移除此列表的头(第一个元素)。
E get(int index) //返回此列表中指定位置处的元素。
E getFirst() //返回此列表的第一个元素。
E getLast() //返回此列表的最后一个元素。
int indexOf(Object o) // 返回此列表中首次出现的指定元素的索引,如果此列表中不包含该元素,则返回 -1。
int lastIndexOf(Object o) //返回此列表中最后出现的指定元素的索引,如果此列表中不包含该元素,则返回 -1。
boolean offer(E e) //将指定元素添加到此列表的末尾(最后一个元素)。
boolean offerFirst(E e) //在此列表的开头插入指定的元素。
boolean offerLast(E e) //在此列表末尾插入指定的元素。
E peek() //获取但不移除此列表的头(第一个元素)。
E peekFirst() //获取但不移除此列表的第一个元素;如果此列表为空,则返回 null。
E peekLast() //获取但不移除此列表的最后一个元素;如果此列表为空,则返回 null。
E poll() //获取并移除此列表的头(第一个元素)
E pollFirst() //获取并移除此列表的第一个元素;如果此列表为空,则返回 null。
E pollLast() //获取并移除此列表的最后一个元素;如果此列表为空,则返回 null。
E pop() //从此列表所表示的堆栈处弹出一个元素。
void push(E e) //将元素推入此列表所表示的堆栈。
E remove() //获取并移除此列表的头(第一个元素)。
E remove(int index) //移除此列表中指定位置处的元素。
boolean remove(Object o) //从此列表中移除首次出现的指定元素(如果存在)。
E removeFirst() //移除并返回此列表的第一个元素。
boolean removeFirstOccurrence(Object o) //从此列表中移除第一次出现的指定元素(从头部到尾部遍历列表时)。
E removeLast() //移除并返回此列表的最后一个元素。
boolean removeLastOccurrence(Object o) //从此列表中移除最后一次出现的指定元素(从头部到尾部遍历列表时)。
E set(int index, E element) //将此列表中指定位置的元素替换为指定的元素。
int size() //返回此列表的元素数。
Object[] toArray() //返回以适当顺序(从第一个元素到最后一个元素)包含此列表中所有元素的数组。
<T> T[] toArray(T[] a) //返回以适当顺序(从第一个元素到最后一个元素)包含此列表中所有元素的数组;返回数组的运行时类型为指定数组的类型。
2.编写一段程序测试LinkedList类
package edu.hhu.geometry;
import java.util.LinkedList;
import java.util.Vector;
public class TestLinkedList {
public static void main(String[] args) {
//创建两个Vector
Vector<String> tempVector = new Vector<String>(4);
Vector<String> colVector = new Vector<String>(3);
colVector.add("cat");
colVector.add("dog");
colVector.add("elephant");
tempVector.add("apple");
tempVector.add("orange");
tempVector.add("banana");
tempVector.add("blueberry");
//实例化一个LinkedList
LinkedList<String> lList = new LinkedList<String>(tempVector);
//获得list的长度
System.out.println("size:"+lList.size());
//获得list的第二个元素
System.out.println("second:"+lList.get(1));
//给list添加一个元素
lList.add("lemen");
System.out.println("String:"+lList.toString());
//在listde 末尾添加一个Vector
lList.addAll(colVector);
System.out.println("String:"+lList.toString());
//在list的指定位置添加一个Vector
lList.addAll(3,colVector);
System.out.println("String:"+lList.toString());
System.out.println("Stringlast:"+lList.getLast());
System.out.println("No:"+lList.indexOf("elephant"));
}
}