Java-linkedlist-class
Java-LinkedListクラス
LinkedListクラスは、AbstractSequentialListを拡張し、Listインターフェイスを実装します。 リンクリストデータ構造を提供します。
以下は、LinkedListクラスでサポートされるコンストラクターです。
Sr.No. | Constructor & Description |
---|---|
1 |
LinkedList( ) このコンストラクターは、空のリンクリストを作成します。 |
2 |
LinkedList(Collection c) このコンストラクタは、コレクション c の要素で初期化されるリンクリストを構築します。 |
親クラスから継承されたメソッドとは別に、LinkedListは次のメソッドを定義します-
Sr.No. | Method & Description |
---|---|
1 |
void add(int index, Object element) このリストの指定された位置インデックスに指定された要素を挿入します。 指定されたインデックスが範囲外(index <0 |
index> size())の場合、IndexOutOfBoundsExceptionをスローします。 | |
2 |
boolean add(Object o) 指定された要素をこのリストの末尾に追加します。 |
3 |
boolean addAll(Collection c) 指定されたコレクション内のすべての要素を、指定されたコレクションの反復子によって返される順序で、このリストの最後に追加します。 指定されたコレクションがnullの場合、NullPointerExceptionをスローします。 |
4 |
boolean addAll(int index, Collection c) 指定されたコレクションのすべての要素を、指定された位置からこのリストに挿入します。 指定されたコレクションがnullの場合、NullPointerExceptionをスローします。 |
5 |
void addFirst(Object o) このリストの先頭に指定された要素を挿入します。 |
6 |
void addLast(Object o) 指定された要素をこのリストの最後に追加します。 |
7 |
void clear() このリストからすべての要素を削除します。 |
8 |
Object clone() このLinkedListの浅いコピーを返します。 |
9 |
boolean contains(Object o) このリストに指定された要素が含まれている場合、trueを返します。 より正式には、このリストに(o == null? e == null:o.equals(e)) |
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() このリスト内のすべての要素を正しい順序で含む配列を返します。 指定された配列がnullの場合、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]