Java in a Nutshell, 5th Edition [Electronic resources]

نسخه متنی -صفحه : 1191/ 728
نمايش فراداده

LinkedList<E>java.util

Java 1.2cloneable serializable collection

This class implements the List interface in terms of a doubly linked list. In Java 5.0, it also implements the Queue interface and uses its list as a first-in, first-out (FIFO) queue. LinkedList is a generic type, and the type variable E represents the type of the elements of the list. LinkedList supports all optional methods of List, Queue and Collection and allows list elements of any type, including null (in this it differs from most Queue implementations, which prohibit null elements).

Because LinkedList is implemented with a linked list data structure, the get( ) and set( ) methods are substantially less efficient than the same methods for an ArrayList. However, a LinkedList may be more efficient when the add( ) and remove( ) methods are used frequently. The methods of LinkedList are not synchronized. If you are using a LinkedList in a multithreaded environment, you must explicitly synchronize any code that modifies the list or obtain a synchronized wrapper object with Collections.synchronizedList( ).

In addition to the methods defined by the List interface, LinkedList defines methods to get the first and last elements of the list, to add an element to the beginning or end of the list, and to remove the first or last element of the list. These convenient and efficient methods make LinkedList well-suited for use as a stack or queue. See List and Collection for details on the methods of LinkedList. See also ArrayList.

Figure 16-38. java.util.LinkedList<E>

public class

LinkedList<E> extends AbstractSequentialList<E> implements List<E>, Queue<E>, Cloneable, Serializable { // Public Constructors public

LinkedList ( ); public

LinkedList (Collection<? extends E>

c ); // Public Instance Methods public void

addFirst (E

o ); public void

addLast (E

o ); public E

getFirst ( ); public E

getLast ( ); public E

removeFirst ( ); public E

removeLast ( ); // Methods Implementing List public boolean

add (E

o ); public void

add (int

index , E

element ); public boolean

addAll (Collection<? extends E>

c ); public boolean

addAll (int

index , Collection<? extends E>

c ); public void

clear ( ); public boolean

contains (Object

o ); public E

get (int

index ); public int

indexOf (Object

o ); public int

lastIndexOf (Object

o ); public ListIterator<E>

listIterator (int

index ); public boolean

remove (Object

o ); public E

remove (int

index ); public E

set (int

index , E

element ); public int

size ( ); public Object[ ]

toArray ( ); public <T> T[ ]

toArray (T[ ]

a ); // Methods Implementing Queue

5.0 public E

element ( );

5.0 public boolean

offer (E

o );

5.0 public E

peek ( );

5.0 public E

poll ( );

5.0 public E

remove ( ); // Public Methods Overriding Object public Object

clone ( ); }