Java のリストと Arraylist の違い

Zeeshan Afridi 2023年10月12日
  1. コレクションのフレームワーク
  2. Javaでリストする
  3. JavaのArrayList
  4. Java の List と ArrayList の違い
Java のリストと Arraylist の違い

ArrayList と List は Java の Collection フレームワークのメンバで、ArrayList はクラス、List はインターフェイスです。 Collection フレームワークの助けを借りて、オブジェクトのグループに対して削除、挿入、並べ替え、操作、検索などのさまざまな操作を実行できます。

コレクションのフレームワーク

Java のコレクション フレームワークには、次のインターフェイスとクラスのセットがあります。

インターフェース:

  1. 設定する
  2. キュー
  3. リスト
  4. デキュー

クラス:

  1. アレイリスト
  2. ベクトル
  3. リンクリスト
  4. ハッシュセット
  5. ツリーセット
  6. リンクされたハッシュセット
  7. プライオリティキュー

Collection フレームワークにはさまざまなクラスとインターフェイスがありますが、この記事では ListArrayList のみに焦点を当てるので、例を挙げてそれぞれについて説明しましょう。

Javaでリストする

Java では、List は Collection フレームワークに属します。 これは、1つの単位として表されるオブジェクトの順序付けられたグループです。

異種のデータをリストに格納し、リストの要素のインデックスに基づいてデータにアクセスできます。 Java のリストに対して、削除、挿入、更新、検索などのさまざまな操作を実行できます。

List インターフェイスは java.util パッケージにあります。 Collection インターフェイスを継承します。

LinkedListStackArrayList、および 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]

まず、上記のプログラムで ListArrayList にアクセスするために 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 における ListArrayList の主な違いの一部です。

リスト

  1. List はインターフェイスです。
  2. List インターフェイスは Collection フレームワークを拡張します。
  3. インスタンス化できません。
  4. オブジェクトのリストを作成します。
  5. Lists はオブジェクトの操作が高速です。

配列リスト

  1. ArrayList は標準の Collection クラスです。
  2. ArrayList は、List インターフェイスを実装する AbstractList を拡張します。
  3. インスタンス化できます。
  4. オブジェクトの配列を作成します。
  5. ArrayLists は、List に比べてオブジェクトの操作が速くありません。
著者: Zeeshan Afridi
Zeeshan Afridi avatar Zeeshan Afridi avatar

Zeeshan is a detail oriented software engineer that helps companies and individuals make their lives and easier with software solutions.

LinkedIn

関連記事 - Java List

関連記事 - Java ArrayList