Java-arraylist-class
Java-ArrayListクラス
ArrayListクラスは、AbstractListを拡張し、Listインターフェイスを実装します。 ArrayListは、必要に応じて拡大できる動的配列をサポートします。
標準Java配列は固定長です。 配列を作成した後は、配列を拡大または縮小できません。つまり、配列が保持する要素の数を事前に知る必要があります。
配列リストは初期サイズで作成されます。 このサイズを超えると、コレクションは自動的に拡大されます。 オブジェクトが削除されると、配列が縮小される場合があります。
以下は、ArrayListクラスによって提供されるコンストラクターのリストです。
Sr.No. | Constructor & Description |
---|---|
1 |
ArrayList( ) このコンストラクターは、空の配列リストを作成します。 |
2 |
ArrayList(Collection c) このコンストラクターは、コレクション c の要素で初期化される配列リストを作成します。 |
3 |
ArrayList(int capacity) このコンストラクターは、指定された初期容量を持つ配列リストを作成します。 容量は、要素を格納するために使用される基礎となる配列のサイズです。 要素が配列リストに追加されると、容量は自動的に増加します。 |
親クラスから継承されたメソッドとは別に、ArrayListは次のメソッドを定義します-
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 clear() このリストからすべての要素を削除します。 |
6 |
Object clone() このArrayListの浅いコピーを返します。 |
7 |
boolean contains(Object o) このリストに指定された要素が含まれている場合、trueを返します。 より正式には、このリストに(o == null? e == null:o.equals(e)) |
8 |
void ensureCapacity(int minCapacity) 必要に応じて、このArrayListインスタンスの容量を増やして、少なくとも最小容量引数で指定された要素数を保持できるようにします。 |
9 |
Object get(int index) このリストの指定された位置にある要素を返します。 指定されたインデックスが範囲外(index <0 |
index> = size())の場合、IndexOutOfBoundsExceptionをスローします。 | |
10 |
int indexOf(Object o) 指定された要素が最初に現れるこのリスト内のインデックスを返します。リストにこの要素が含まれていない場合は-1を返します。 |
11 |
int lastIndexOf(Object o) 指定された要素が最後に出現したこのリストのインデックスを返します。リストにこの要素が含まれていない場合は-1を返します。 |
12 |
Object remove(int index) このリストの指定された位置にある要素を削除します。 インデックスアウトが範囲外である場合(Index <0 |
index> = size())、IndexOutOfBoundsExceptionをスローします。 | |
13 |
protected void removeRange(int fromIndex, int toIndex) fromIndex(両端を含む)とtoIndex(両端を除く)の間にあるインデックスを持つすべての要素をこのリストから削除します。 |
14 |
Object set(int index, Object element) このリストの指定された位置にある要素を指定された要素に置き換えます。 指定されたインデックスが範囲外(index <0 |
index> = size())の場合、IndexOutOfBoundsExceptionをスローします。 | |
15 |
int size() リスト内の要素数を返します。 |
16 |
Object[] toArray() このリスト内のすべての要素を正しい順序で含む配列を返します。 指定された配列がnullの場合、NullPointerExceptionをスローします。 |
17 |
Object[] toArray(Object[] a) このリスト内のすべての要素を正しい順序で含む配列を返します。返される配列のランタイムタイプは、指定された配列のランタイムタイプです。 |
18 |
void trimToSize() このArrayListインスタンスの容量をリストの現在のサイズにトリミングします。 |
例
次のプログラムは、ArrayListでサポートされているメソッドのいくつかを示しています-
import java.util.*;
public class ArrayListDemo {
public static void main(String args[]) {
//create an array list
ArrayList al = new ArrayList();
System.out.println("Initial size of al: " + al.size());
//add elements to the array list
al.add("C");
al.add("A");
al.add("E");
al.add("B");
al.add("D");
al.add("F");
al.add(1, "A2");
System.out.println("Size of al after additions: " + al.size());
//display the array list
System.out.println("Contents of al: " + al);
//Remove elements from the array list
al.remove("F");
al.remove(2);
System.out.println("Size of al after deletions: " + al.size());
System.out.println("Contents of al: " + al);
}
}
これは、次の結果を生成します-
出力
Initial size of al: 0
Size of al after additions: 7
Contents of al: [C, A2, A, E, B, D, F]
Size of al after deletions: 5
Contents of al: [C, A2, E, B, D]