JavaのArrayList
Java の ArrayList は、 サイズ変更可能 からの (または動的) 配列 java.util パッケージ サイズが固定された通常の配列とは異なり、要素が追加または削除されると自動的に拡大または縮小できます。
- インデックス付きアクセス: 要素には、配列と同様にインデックスを使用してアクセスできます。
- 重複を許可します: 重複した要素は許可されます。
- 挿入順序を維持します: 要素は挿入された順序で保存されます。
- 同期されていません: デフォルトでは、ArrayList はスレッドセーフではありません (同時アクセスには手動の同期が必要です)。
import java.util.ArrayList ; class Main { public static void main ( String [] args ) { // Creating an ArrayList ArrayList < Integer > a = new ArrayList < Integer > (); // Adding Element in ArrayList a . add ( 1 ); a . add ( 2 ); a . add ( 3 ); // Printing ArrayList System . out . println ( a ); } }
出力
[1 2 3]
ArrayList の階層
それは実装します リストインターフェース のサブインターフェースです 収集インターフェース 。
Java の ArrayList コンストラクター
Java には、さまざまな要件に基づいて ArrayList を作成するための複数のコンストラクターが用意されています。
1. 配列リスト()
デフォルトの初期容量で空の ArrayList を作成します。
配列リスト
arr = 新しい ArrayList <>();
2. 配列リスト arr = 新しい ArrayList <>()
指定されたコレクションの要素で初期化された ArrayList を作成します。
配列リスト
arr = 新しい ArrayList <>(コレクション);
3. ArrayList(int 初期容量)
このコンストラクターは、指定された初期容量を使用して配列リストを構築するために使用されます。
配列リスト
arr = 新しい ArrayList <>(20);
ArrayList の操作
ここで、コンストラクターを使用して、ArrayList 内の要素の InsertionDeletion や Updated などのさらなる操作のための ArrayList を取得しました。
Java import java.util.* ; class GFG { public static void main ( String args [] ){ // Creating an Array of string type ArrayList < String > al = new ArrayList <> (); // 1. Adding elements to ArrayList at the end al . add ( 'Geeks' ); al . add ( 'Geeks' ); System . out . println ( 'Original List : ' + al ); // Adding Elements at the specific index al . add ( 1 'For' ); System . out . println ( 'After Adding element at index 1 : ' + al ); // 2. Removing Element using index al . remove ( 0 ); System . out . println ( 'Element removed from index 0 : ' + al ); // Removing Element using the value al . remove ( 'Geeks' ); System . out . println ( 'Element Geeks removed : ' + al ); // 3. Updating value at index 0 al . set ( 0 'GFG' ); System . out . println ( 'List after updation of value : ' + al ); } }
出力
Original List : [Geeks Geeks] After Adding element at index 1 : [Geeks For Geeks] Element removed from index 0 : [For Geeks] Element Geeks removed : [For] List after updation of value : [GFG]
Java ArrayList の複雑さ
| 手術 | 時間計算量 | 空間の複雑さ |
|---|---|---|
| ArrayList への要素の挿入 | ○(1) | の上) |
| ArrayList からの要素の削除 | の上) | ○(1) |
| ArrayList 内の要素の走査 | の上) | の上) |
| ArrayList 内の要素を置換する | ○(1) | ○(1) |
Java ArrayList メソッド
| 方法 | 説明 |
|---|---|
| add(int インデックス オブジェクト要素) | このメソッドは、リスト内の特定の位置インデックスに特定の要素を挿入するために使用されます。 |
| add(オブジェクトo) | このメソッドは、リストの末尾に特定の要素を追加するために使用されます。 |
| すべて追加(コレクション C) | このメソッドは、特定のコレクションのすべての要素を、指定されたコレクションのイテレータによって値が返される順序で指定されたリストの末尾に追加するために使用されます。 |
| addAll(int インデックス コレクション C) | 特定のコレクションの指定された位置から始まるすべての要素を、指定されたリストに挿入するために使用されます。 |
| クリア() | このメソッドは、リストからすべての要素を削除するために使用されます。 |
| クローン() | このメソッドは、Java で ArrayList の浅いコピーを返すために使用されます。 |
| contains(オブジェクト o) | このリストに指定された要素が含まれている場合は true を返します。 |
| ensureCapacity(int minCapacity) | 必要に応じて、この ArrayList インスタンスの容量を増やし、少なくとも最小容量引数で指定された要素数を確実に保持できるようにします。 |
| forEach(消費者 super E>アクション) | すべての要素が処理されるか、アクションが例外をスローするまで、Iterable の各要素に対して指定されたアクションを実行します。 |
| get(int インデックス) | このリスト内の指定された位置にある要素を返します。 |
| インデックスOf(オブジェクトO) | 特定の要素が最初に出現するインデックスが返されるか、要素がリストにない場合は -1 が返されます。 |
| isEmpty() | このリストに要素が含まれていない場合は true を返します。 |
| lastIndexOf(オブジェクト O) | 特定の要素が最後に出現したインデックスが返されるか、要素がリストにない場合は -1 が返されます。 |
| listIterator() | このリスト内の要素に対するリスト反復子を (適切な順序で) 返します。 |
| listIterator(int インデックス) | リスト内の指定された位置から始まるこのリスト内の要素に対するリスト反復子を (適切な順序で) 返します。 |
| 削除(int インデックス) | このリスト内の指定された位置にある要素を削除します。 |
| 削除(オブジェクトo) | 指定された要素が最初に出現した場合、このリストからそれを削除します。 |
| すべて削除(コレクション c) | 指定されたコレクションに含まれるすべての要素をこのリストから削除します。 |
| RemoveIf(述語フィルター) | 指定された述語を満たすこのコレクションの要素をすべて削除します。 |
| RemoveRange(int fromIndex int toIndex) | このリストから、インデックスが from Index inclusive と to Index exclusive の間にあるすべての要素を削除します。 |
| すべて保持(コレクション >c) | 指定されたコレクションに含まれるこのリストの要素のみを保持します。 |
| set(int インデックス E 要素) | このリスト内の指定された位置にある要素を、指定された要素に置き換えます。 |
| サイズ() | このリスト内の要素の数を返します。 |
| スプリッテレータ() | このリスト内の要素に対して遅延バインディングおよびフェイルファストの Spliterator を作成します。 |
| subList(int fromIndex int toIndex) | このリストの、指定された fromIndex と toIndex の間の部分のビューを返します。 |
| toArray() | このメソッドは、リスト内のすべての要素を正しい順序で含む配列を返すために使用されます。 |
| toArray(オブジェクト[] O) | また、前のメソッドと同じように、このリスト内のすべての要素を正しい順序で含む配列を返すためにも使用されます。 |
| トリムサイズ() | このメソッドは、ArrayList のインスタンスの容量をリストの現在のサイズにトリミングするために使用されます。 |