Java のリストと Arraylist の違い
ArrayList と List は Java の Collection フレームワークのメンバで、ArrayList はクラス、List はインターフェイスです。 Collection フレームワークの助けを借りて、オブジェクトのグループに対して削除、挿入、並べ替え、操作、検索などのさまざまな操作を実行できます。
コレクションのフレームワーク
Java のコレクション フレームワークには、次のインターフェイスとクラスのセットがあります。
インターフェース:
- 設定する
- キュー
- リスト
- デキュー
クラス:
- アレイリスト
- ベクトル
- リンクリスト
- ハッシュセット
- ツリーセット
- リンクされたハッシュセット
- プライオリティキュー
Collection フレームワークにはさまざまなクラスとインターフェイスがありますが、この記事では List
と ArrayList
のみに焦点を当てるので、例を挙げてそれぞれについて説明しましょう。
Javaでリストする
Java では、List
は Collection フレームワークに属します。 これは、1つの単位として表されるオブジェクトの順序付けられたグループです。
異種のデータをリストに格納し、リストの要素のインデックスに基づいてデータにアクセスできます。 Java のリストに対して、削除、挿入、更新、検索などのさまざまな操作を実行できます。
List
インターフェイスは java.util
パッケージにあります。 Collection インターフェイスを継承します。
LinkedList
、Stack
、ArrayList
、および Vector
クラスを実装します。 逆方向と順方向の両方でリストを反復処理できます。
package articlecodesinjava;
import java.util.ArrayList;
import java.util.List;
class TestingList {
public static void main(String[] args) {
List<String> list = new ArrayList<>(); // List object
list.add("Successfully created a list in Java"); // adding a string to the List
System.out.println(list);
}
}
出力:
[Successfully created a list in Java] //The output is in List form
Java の組み込みリスト メソッド
Java では、リストには固有の複数の メソッド があります。 これらはさまざまな目的で使用されます。 最も人気があり頻繁に使用されるものは次のとおりです。
package articlecodesinjava;
import java.util.*;
class TestingList {
public static void main(String[] args) {
List<Object> list = new ArrayList<>();
list.add(1); // Adding values in list
list.add(2);
System.out.println("List after adding values " + list);
list.removeAll(list); // return and empty list, all values are erased
System.out.println("List after the removeAll method " + list);
list.add("3"); // Adding values in list
list.add("4");
System.out.println("New list " + list);
System.out.println("The size of the List " + list.size());
System.out.println("Return a value from the list a 1 position " + list.get(1));
System.out.println("Removing value at position 1 = " + list.remove(1));
System.out.println("Final list" + list);
}
}
出力:
List after adding values [1, 2]
List after the removeAll method []
New list [3, 4]
The size of the List 2
Return a value from the list a 1 position 4
Removing value at position 1 = 4
Final list[3]
まず、上記のプログラムで List
と ArrayList
にアクセスするために java.util.*
パッケージをインポートしました。 次に、リストを作成し、リストのオブジェクトを使用して、最初に add()
でいくつかの値を入力し、次に removeAll()
でリストからすべてのデータを削除し、空のリストを返しました。
さらに、リストに対していくつかの他の操作を実行するために、リストにいくつかの値を再度追加しました。 size()
でリストのサイズを見つけ、get(1)
で位置/インデックス番号 1 の値を表示し、最後に remove( でインデックス番号 1 の値を削除しました。 1)
.
リストには組み込みの メソッド がたくさんあります。 詳細については、Java の公式サイトを参照してください。
JavaのArrayList
Java では、ArrayList
は従来の配列の高度なバージョンです。 従来の配列はサイズが固定されているため、配列のサイズを拡大および縮小することはできませんでした。
したがって、Collection フレームワークは ArrayList
として知られる動的配列を考え出します。 ArrayList
クラスは、リストに要素を追加したりリストから要素を削除したりすると、そのサイズを拡大および縮小できる動的配列です。
AbstractList
クラスを継承し、List
インターフェイスを実装してすべての List
インターフェイス メソッドを使用します。 要素には、リストの要素のインデックスを介してアクセスできます。
ArrayList
は char、int、float などのプリミティブ データ型をサポートしていませんが、そのような場合にはラッパー クラスを使用します。
package articlecodesinjava;
import java.util.ArrayList;
class TestingArrayList {
public static void main(String[] args) {
ArrayList<String> arrayList = new ArrayList<>(); // ArrayList object
arrayList.add("Successfully created an arrayList in Java"); // adding a string to the ArrayList
System.out.println(arrayList);
}
}
出力:
[Successfully created an arrayList in Java]
Java の組み込み ArrayList メソッド
ArrayList は List を実装する AbstractList を拡張したものなので、List のすべてのメソッドを ArrayList で使用できます。
以下の例を参照してください。 上記のすべてのプログラムを ArrayList
の同じメソッドで使用します。
コード例:
package articlecodesinjava;
import java.util.*;
class TestingArrayList {
public static void main(String[] args) {
ArrayList arrayList = new ArrayList<>();
arrayList.add(1); // Adding values in ArrayList
arrayList.add(2);
System.out.println("ArrayList after adding values " + arrayList);
arrayList.removeAll(arrayList); // return and empty ArrayList, all values are erased
System.out.println("ArrayList after the removeAll method " + arrayList);
arrayList.add("3"); // Adding values in ArrayList
arrayList.add("4");
arrayList.add(0, 5);
System.out.println("New ArrayList " + arrayList);
System.out.println("The size of the ArrayList " + arrayList.size());
System.out.println("Return a value from the ArrayList at 1 position " + arrayList.get(1));
System.out.println("Removing value at position 1 = " + arrayList.remove(1));
System.out.println("Final ArrayList" + arrayList);
}
}
出力:
ArrayList after adding values [1, 2]
ArrayList after the removeAll method []
New ArrayList [5, 3, 4]
The size of the ArrayList 3
Return a value from the ArrayList at 1 position 3
Removing value at position 1 = 3
Final ArrayList[5, 4]
Java の List と ArrayList の違い
以下は、Java における List
と ArrayList
の主な違いの一部です。
リスト
List
はインターフェイスです。List
インターフェイスは Collection フレームワークを拡張します。- インスタンス化できません。
- オブジェクトのリストを作成します。
Lists
はオブジェクトの操作が高速です。
配列リスト
ArrayList
は標準の Collection クラスです。ArrayList
は、List
インターフェイスを実装するAbstractList
を拡張します。- インスタンス化できます。
- オブジェクトの配列を作成します。
ArrayLists
は、List に比べてオブジェクトの操作が速くありません。
Zeeshan is a detail oriented software engineer that helps companies and individuals make their lives and easier with software solutions.
LinkedIn関連記事 - Java List
- Java でリストから最初の要素を取得する
- Java でリストをチャンクに分割する
- Java のフィルタ リスト
- Java を使用してリスト内の要素のインデックスを検索する
- Java でマップ値をリストに変換する