テクノロジー 開発 Java の ArrayList: 初心者のための入門 [2023]

Java の ArrayList: 初心者のための入門 [2023]

配列は、あらゆるプログラミング言語で広く使用されている必須のデータ構造ですが、サイズが固定であるという欠点が 1 つあります。 Java の ArrayList がこれにどのように役立つかを見てみましょう。

配列には、静的配列と動的配列の 2 つのタイプがあります。 Java などのプログラミング言語では、配列を動的に増やすことはできません。代わりに、配列のサイズは配列の初期化中に宣言されます。しかし、多くの場合、これは多くの問題を引き起こす可能性があります。この問題を解決するために、Java では ArrayList が使用されます。要素が ArrayList にプッシュされると、配列サイズは自動的に増加します。

この記事では、Java の ArrayList について学びます。 Array と ArrayList の主な違いを理解し、さまざまなタイプの ArrayList とその使用方法についても学びます。

配列と ArrayList

Array と ArrayList の主な違いは、Array のサイズは静的ですが、ArrayList のサイズは動的に変更できることです。配列は固定されているため、配列の反復処理にかかる時間は動的配列よりも短くなります。

それらの間にはさらにいくつかの違いがあります。

  • 静的配列は単一次元または多次元にすることができますが、ArrayList は単一次元のみにすることができます。
  • 配列は、Java で使用できる基本的なデータ構造です。ただし、ArrayList は Java のコレクション フレームワーク API の一部です。これは配列の上に構築されます。
  • プリミティブ データ型を使用して配列を宣言できます。プリミティブ データ型は ArrayList では使用できません。プリミティブ データ型を使用する場合は、そのデータ型に対応するラッパー クラスを使用する必要があります。

Java の ArrayList の種類

ArrayList は任意の型にすることができます。ただし、ArrayList ではプリミティブ データ型を渡すことができないため、対応するラッパー クラスを渡す必要があります。

Integer String などのラッパー クラスを渡すことで、整数型や文字列型などの単純なデータ型を追加できます。

ArrayList の ArrayList、ハッシュマップなどの複合型を渡すこともできます。

ArrayList 内でカスタム クラスを使用する例を見てみましょう。

 import java.util.ArrayList;

class User {
  private String name;
  private int age;

  public User(String name, int age) {
    this.name = name;
    this.age = age;
  }

  public void getUser() {
    System.out.println("Name: " + name + " Age: " + age);
  }
}

class Main {
    public static void main(String[] args) {
    ArrayList<User> users = new ArrayList<>();

    users.add(new User("Subha", 25));
    users.add(new User("Dan", 32));

    users.forEach(user -> {
      user.getUser();
    });
  }
}

Output:
Name: Subha Age: 25
Name: Dan Age: 32

上記のコード サンプルでは、 User タイプの ArrayList が作成されます。以下の例で使用されるメソッドについて詳しく学びます。

Java の ArrayList: 初心者のための入門 [2023]
Java の ArrayList: 初心者のための入門 [2023]

Java で ArrayList を作成する

Java の ArrayList の基本はすでに理解しました。ここで ArrayList の構文を見て、続いて Java コードで ArrayList を使用する方法も見てみましょう。

 ArrayList<Type> listName = new ArrayList<>();

上のスニペットは、ArrayList を定義する構文を示しています。 Type ArrayList のタイプを定義します。たとえば、整数データ型の ArrayList を宣言する場合は、 <Integer> を渡すことができます。 int プリミティブ データ型であるため、渡すことができないことに注意してください。

プログラムで ArrayList を使用するには、 java.util.ArrayList をインポートする必要もあります。 ArrayList を宣言するプログラムの基本的な例を次に示します。

 import java.util.ArrayList;

class Main {
  public static void main(String[] args) {

    // Declare An ArrayList
    ArrayList<String> rainbow = new ArrayList<>();

    System.out.println(rainbow); 
  }
}

Output:
[]

上記のコードでは、 rainbow という名前の String 型の ArrayList が宣言されています。

ArrayList を操作するには、複数のメソッドを使用できます。いくつかの方法を見てみましょう。

Java の ArrayList: 初心者のための入門 [2023]
Java の ArrayList: 初心者のための入門 [2023]

add メソッド

ArrayList クラスは、要素の追加または削除、値の取得、特定の位置での値の設定、ArrayList のクリアなどの操作を実行するためのさまざまなメソッドを提供します。

最初に説明するメソッドは add メソッドです。

add メソッドは、単一の項目を ArrayList に追加するために使用されます。 add の構文を以下に示します。

 arrayList.add(int i, Element) 

ここで構文を理解しましょう。最初のパラメータ i 、追加する項目のインデックス位置を表すオプションのパラメータです。 2 番目のパラメーター Element 追加する要素です。例を見てみましょう。

 rainbow.add("Violet");
System.out.println(rainbow); 

Output:
[Violet]



rainbow.add(0, "Red");
System.out.println(rainbow); 

Output:
[Red, Violet]

rainbow.add("Violet") ArrayList の末尾に要素を追加します。そして、 rainbow.add(0, "Red") 要素 Red ArrayList のインデックス位置 0 に追加します。 add() メソッドは、項目が正常に挿入されると true を返します。

Java の ArrayList: 初心者のための入門 [2023]
Java の ArrayList: 初心者のための入門 [2023]

get メソッド

get メソッドは、ArrayList の指定された位置から値を取得するために使用されます。

 arrayList.get(int i);

上記の構文に示されている i インデックス位置です。たとえば、インデックス位置 1 から項目を取得する場合は、 arrayList.get(1) と記述します。

 rainbow.add("Violet");
rainbow.add(0, "Red");

String color = rainbow.get(1);
System.out.println(color); 


Output: 
Violet

上記のコードは ArrayList rainbow から Violet を返します。

Java の ArrayList: 初心者のための入門 [2023]
Java の ArrayList: 初心者のための入門 [2023]

set メソッド

set メソッドは、項目の値を置換するために使用されます。たとえば、インデックス位置 0 にある項目の値を置換する場合は、 rainbow という ArrayList があると仮定して、 rainbow.set(0, "Purple") と記述します。

set メソッドの構文は次のとおりです。

 arrayList.set(int i, Element);

i はインデックス位置、 Element は新しい要素の値です。

 rainbow.add("Violet");
System.out.println(rainbow); 

Output:
[Violet]

rainbow.add(0, "Red");
System.out.println(rainbow);

Output:
[Red, Violet]

rainbow.set(1, "Purple");
System.out.println(rainbow);

Output:
[Red, Purple]

上の例では、 rainbow という ArrayList に 2 つの値を追加します。まず、要素 Violet が追加され、次に ArrayList の位置 0 に項目 Red が追加されます。この時点で、完全な ArrayList は [Red, Violet] のようになります。

ここで、 set メソッドを使用して、インデックス位置 1 の要素が値 Purple に置き換えられます。値を置き換えると、ArrayList は [Red, Purple] のようになります。

Java の ArrayList: 初心者のための入門 [2023]
Java の ArrayList: 初心者のための入門 [2023]

remove メソッド

ArrayList の remove メソッドは、ArrayList から値を削除するために使用されます。削除する値または値のインデックス位置を渡すことができます。 remove メソッドの構文を以下に示します。

 arrayList.remove(Object value);

// or

arrayList.remove(int i);

この方法をよりよく理解するために例を見てみましょう。これらの値 [Violet, Red, Green] を持つ rainbow という ArrayList があるとします。ここで、ArrayList から Red を削除したい場合は、 rainbow.remove("Red"); と書くことができます。 。 rainbow ArrayList でこのメソッドを呼び出すと、そこから要素 Red が削除されます。

 // rainbow = [Violet, Red, Green]

rainbow.remove("Red");
System.out.println(rainbow);

Output:
[Violet, Green]

インデックス位置を渡して、インデックス位置にある項目を削除することもできます。

 //rainbow = [Red, Green]

rainbow.remove(0); // Remove item at index position 0

System.out.println(rainbow);

Output:
[Green]

clear メソッド

名前が示すように、 clear メソッドは ArrayList からすべての要素を削除します。構文は単純で、パラメータは必要ありません。

 arraylist.clear()

例を見てみましょう。

 rainbow.clear(); 
System.out.println(rainbow); 

Output:
[]

clear メソッドは値を返しません。代わりに、指定された ArrayList の値をクリアします。

size 方法

size メソッドは、指定された ArrayList のサイズを返します。このメソッドもパラメーターを受け取りません。構文を以下に示します。

 arrayList.size();

ここでの arrayList ArrayList の名前です。例を使用して size 方法を理解しましょう。

 ArrayList<String> rainbow = new ArrayList<>();
rainbow.add("Violet");
rainbow.add("Red");
rainbow.add("Green");

System.out.println(rainbow.size()); 


Output:
3

このメソッドは、ArrayList サイズの値を返します。上記の例では、ArrayList rainbow 3 つの値で構成されているため、 size メソッドは 3 を返します。

結論

この記事では、ArrayList とは何か、また ArrayList と Array の違いについて説明しました。また、ArrayList クラスで利用可能なさまざまなメソッドを使用して ArrayList を宣言し、使用する方法についても説明しました。

Java の学習をさらに深めたい場合は、これらのオンライン Java コースをチェックしてください。

「 Java の ArrayList: 初心者のための入門 [2023]」についてわかりやすく解説!絶対に観るべきベスト2動画

ArrayListクラスを便利に使えるイテレータを初心者向けに解説【Java入門講座】6-6 Iteratorインタフェース
【Java基礎講座 #25】コレクション | ArrayListを使いこなそう!【ArrayList】

配列は、あらゆるプログラミング言語で広く使用されている必須のデータ構造ですが、サイズが固定であるという欠点が 1 つあります。 Java の ArrayList がこれにどのように役立つかを見てみましょう。

配列には、静的配列と動的配列の 2 つのタイプがあります。 Java などのプログラミング言語では、配列を動的に増やすことはできません。代わりに、配列のサイズは配列の初期化中に宣言されます。しかし、多くの場合、これは多くの問題を引き起こす可能性があります。この問題を解決するために、Java では ArrayList が使用されます。要素が ArrayList にプッシュされると、配列サイズは自動的に増加します。

この記事では、Java の ArrayList について学びます。 Array と ArrayList の主な違いを理解し、さまざまなタイプの ArrayList とその使用方法についても学びます。

配列と ArrayList

Array と ArrayList の主な違いは、Array のサイズは静的ですが、ArrayList のサイズは動的に変更できることです。配列は固定されているため、配列の反復処理にかかる時間は動的配列よりも短くなります。

それらの間にはさらにいくつかの違いがあります。

  • 静的配列は単一次元または多次元にすることができますが、ArrayList は単一次元のみにすることができます。
  • 配列は、Java で使用できる基本的なデータ構造です。ただし、ArrayList は Java のコレクション フレームワーク API の一部です。これは配列の上に構築されます。
  • プリミティブ データ型を使用して配列を宣言できます。プリミティブ データ型は ArrayList では使用できません。プリミティブ データ型を使用する場合は、そのデータ型に対応するラッパー クラスを使用する必要があります。

Java の ArrayList の種類

ArrayList は任意の型にすることができます。ただし、ArrayList ではプリミティブ データ型を渡すことができないため、対応するラッパー クラスを渡す必要があります。

Integer String などのラッパー クラスを渡すことで、整数型や文字列型などの単純なデータ型を追加できます。

ArrayList の ArrayList、ハッシュマップなどの複合型を渡すこともできます。

ArrayList 内でカスタム クラスを使用する例を見てみましょう。

 import java.util.ArrayList;

class User {
  private String name;
  private int age;

  public User(String name, int age) {
    this.name = name;
    this.age = age;
  }

  public void getUser() {
    System.out.println("Name: " + name + " Age: " + age);
  }
}

class Main {
    public static void main(String[] args) {
    ArrayList<User> users = new ArrayList<>();

    users.add(new User("Subha", 25));
    users.add(new User("Dan", 32));

    users.forEach(user -> {
      user.getUser();
    });
  }
}

Output:
Name: Subha Age: 25
Name: Dan Age: 32

上記のコード サンプルでは、 User タイプの ArrayList が作成されます。以下の例で使用されるメソッドについて詳しく学びます。

Java の ArrayList: 初心者のための入門 [2023]
Java の ArrayList: 初心者のための入門 [2023]

Java で ArrayList を作成する

Java の ArrayList の基本はすでに理解しました。ここで ArrayList の構文を見て、続いて Java コードで ArrayList を使用する方法も見てみましょう。

 ArrayList<Type> listName = new ArrayList<>();

上のスニペットは、ArrayList を定義する構文を示しています。 Type ArrayList のタイプを定義します。たとえば、整数データ型の ArrayList を宣言する場合は、 <Integer> を渡すことができます。 int プリミティブ データ型であるため、渡すことができないことに注意してください。

プログラムで ArrayList を使用するには、 java.util.ArrayList をインポートする必要もあります。 ArrayList を宣言するプログラムの基本的な例を次に示します。

 import java.util.ArrayList;

class Main {
  public static void main(String[] args) {

    // Declare An ArrayList
    ArrayList<String> rainbow = new ArrayList<>();

    System.out.println(rainbow); 
  }
}

Output:
[]

上記のコードでは、 rainbow という名前の String 型の ArrayList が宣言されています。

ArrayList を操作するには、複数のメソッドを使用できます。いくつかの方法を見てみましょう。

Java の ArrayList: 初心者のための入門 [2023]
Java の ArrayList: 初心者のための入門 [2023]

add メソッド

ArrayList クラスは、要素の追加または削除、値の取得、特定の位置での値の設定、ArrayList のクリアなどの操作を実行するためのさまざまなメソッドを提供します。

最初に説明するメソッドは add メソッドです。

add メソッドは、単一の項目を ArrayList に追加するために使用されます。 add の構文を以下に示します。

 arrayList.add(int i, Element) 

ここで構文を理解しましょう。最初のパラメータ i 、追加する項目のインデックス位置を表すオプションのパラメータです。 2 番目のパラメーター Element 追加する要素です。例を見てみましょう。

 rainbow.add("Violet");
System.out.println(rainbow); 

Output:
[Violet]



rainbow.add(0, "Red");
System.out.println(rainbow); 

Output:
[Red, Violet]

rainbow.add("Violet") ArrayList の末尾に要素を追加します。そして、 rainbow.add(0, "Red") 要素 Red ArrayList のインデックス位置 0 に追加します。 add() メソッドは、項目が正常に挿入されると true を返します。

Java の ArrayList: 初心者のための入門 [2023]
Java の ArrayList: 初心者のための入門 [2023]

get メソッド

get メソッドは、ArrayList の指定された位置から値を取得するために使用されます。

 arrayList.get(int i);

上記の構文に示されている i インデックス位置です。たとえば、インデックス位置 1 から項目を取得する場合は、 arrayList.get(1) と記述します。

 rainbow.add("Violet");
rainbow.add(0, "Red");

String color = rainbow.get(1);
System.out.println(color); 


Output: 
Violet

上記のコードは ArrayList rainbow から Violet を返します。

Java の ArrayList: 初心者のための入門 [2023]
Java の ArrayList: 初心者のための入門 [2023]

set メソッド

set メソッドは、項目の値を置換するために使用されます。たとえば、インデックス位置 0 にある項目の値を置換する場合は、 rainbow という ArrayList があると仮定して、 rainbow.set(0, "Purple") と記述します。

set メソッドの構文は次のとおりです。

 arrayList.set(int i, Element);

i はインデックス位置、 Element は新しい要素の値です。

 rainbow.add("Violet");
System.out.println(rainbow); 

Output:
[Violet]

rainbow.add(0, "Red");
System.out.println(rainbow);

Output:
[Red, Violet]

rainbow.set(1, "Purple");
System.out.println(rainbow);

Output:
[Red, Purple]

上の例では、 rainbow という ArrayList に 2 つの値を追加します。まず、要素 Violet が追加され、次に ArrayList の位置 0 に項目 Red が追加されます。この時点で、完全な ArrayList は [Red, Violet] のようになります。

ここで、 set メソッドを使用して、インデックス位置 1 の要素が値 Purple に置き換えられます。値を置き換えると、ArrayList は [Red, Purple] のようになります。

Java の ArrayList: 初心者のための入門 [2023]
Java の ArrayList: 初心者のための入門 [2023]

remove メソッド

ArrayList の remove メソッドは、ArrayList から値を削除するために使用されます。削除する値または値のインデックス位置を渡すことができます。 remove メソッドの構文を以下に示します。

 arrayList.remove(Object value);

// or

arrayList.remove(int i);

この方法をよりよく理解するために例を見てみましょう。これらの値 [Violet, Red, Green] を持つ rainbow という ArrayList があるとします。ここで、ArrayList から Red を削除したい場合は、 rainbow.remove("Red"); と書くことができます。 。 rainbow ArrayList でこのメソッドを呼び出すと、そこから要素 Red が削除されます。

 // rainbow = [Violet, Red, Green]

rainbow.remove("Red");
System.out.println(rainbow);

Output:
[Violet, Green]

インデックス位置を渡して、インデックス位置にある項目を削除することもできます。

 //rainbow = [Red, Green]

rainbow.remove(0); // Remove item at index position 0

System.out.println(rainbow);

Output:
[Green]

clear メソッド

名前が示すように、 clear メソッドは ArrayList からすべての要素を削除します。構文は単純で、パラメータは必要ありません。

 arraylist.clear()

例を見てみましょう。

 rainbow.clear(); 
System.out.println(rainbow); 

Output:
[]

clear メソッドは値を返しません。代わりに、指定された ArrayList の値をクリアします。

size 方法

size メソッドは、指定された ArrayList のサイズを返します。このメソッドもパラメーターを受け取りません。構文を以下に示します。

 arrayList.size();

ここでの arrayList ArrayList の名前です。例を使用して size 方法を理解しましょう。

 ArrayList<String> rainbow = new ArrayList<>();
rainbow.add("Violet");
rainbow.add("Red");
rainbow.add("Green");

System.out.println(rainbow.size()); 


Output:
3

このメソッドは、ArrayList サイズの値を返します。上記の例では、ArrayList rainbow 3 つの値で構成されているため、 size メソッドは 3 を返します。

結論

この記事では、ArrayList とは何か、また ArrayList と Array の違いについて説明しました。また、ArrayList クラスで利用可能なさまざまなメソッドを使用して ArrayList を宣言し、使用する方法についても説明しました。

Java の学習をさらに深めたい場合は、これらのオンライン Java コースをチェックしてください。

「 Java の ArrayList: 初心者のための入門 [2023]」についてわかりやすく解説!絶対に観るべきベスト2動画

ArrayListクラスを便利に使えるイテレータを初心者向けに解説【Java入門講座】6-6 Iteratorインタフェース
【Java基礎講座 #25】コレクション | ArrayListを使いこなそう!【ArrayList】