配列と ArrayList に要素を追加する

JavaJavaBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

Java において、配列は固定サイズで同じデータ型のコレクションであり、一方、ArrayList は同じデータ型の動的コレクションです。この実験では、配列と ArrayList に要素を追加する方法を示します。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL java(("Java")) -.-> java/DataStructuresGroup(["Data Structures"]) java(("Java")) -.-> java/ObjectOrientedandAdvancedConceptsGroup(["Object-Oriented and Advanced Concepts"]) java(("Java")) -.-> java/SystemandDataProcessingGroup(["System and Data Processing"]) java/DataStructuresGroup -.-> java/arrays("Arrays") java/DataStructuresGroup -.-> java/arrays_methods("Arrays Methods") java/DataStructuresGroup -.-> java/collections_methods("Collections Methods") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/classes_objects("Classes/Objects") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/exceptions("Exceptions") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/arraylist("ArrayList") java/SystemandDataProcessingGroup -.-> java/string_methods("String Methods") subgraph Lab Skills java/arrays -.-> lab-117386{{"配列と ArrayList に要素を追加する"}} java/arrays_methods -.-> lab-117386{{"配列と ArrayList に要素を追加する"}} java/collections_methods -.-> lab-117386{{"配列と ArrayList に要素を追加する"}} java/classes_objects -.-> lab-117386{{"配列と ArrayList に要素を追加する"}} java/exceptions -.-> lab-117386{{"配列と ArrayList に要素を追加する"}} java/arraylist -.-> lab-117386{{"配列と ArrayList に要素を追加する"}} java/string_methods -.-> lab-117386{{"配列と ArrayList に要素を追加する"}} end

配列に要素を追加する

配列に要素を追加するには、次の手順に従います。

  • より大きなサイズの配列を作成する
  • ループを使って古い配列の要素を新しい配列にコピーする
  • 新しい要素を新しい配列の末尾に追加する

以下は、配列に要素を追加するコードです。

~/project/ArrayAppend.java

import java.util.Arrays;

public class ArrayAppend {
   public static int[] appendToArray(int[] oldArr, int elementToAdd) {
      int[] newArr = Arrays.copyOf(oldArr, oldArr.length + 1);
      newArr[newArr.length - 1] = elementToAdd;
      return newArr;
   }

   public static void main(String[] args) {
      int[] arr = {1, 2, 3, 4, 5};
      System.out.println("Initial Array: " + Arrays.toString(arr));
      arr = appendToArray(arr, 6);
      arr = appendToArray(arr, 7);
      arr = appendToArray(arr, 8);
      System.out.println("After adding elements: " + Arrays.toString(arr));
   }
}

コードを実行するには、プロジェクト フォルダでターミナルを開き、次のコマンドでコードをコンパイルして実行します。

javac ArrayAppend.java
java ArrayAppend

コードを実行すると、次の出力が得られます。

Initial Array: [1, 2, 3, 4, 5]
After adding elements: [1, 2, 3, 4, 5, 6, 7, 8]

ArrayList に要素を追加する

ArrayList に要素を追加するには、次の手順に従います。

  • ArrayList を作成する
  • add() メソッドを使って ArrayList に要素を追加する

以下は、ArrayList に要素を追加するコードです。

~/project/ArrayListAppend.java

import java.util.ArrayList;

public class ArrayListAppend {
   public static void main(String[] args) {
      ArrayList<Integer> arrList = new ArrayList<Integer>();
      arrList.add(1);
      arrList.add(2);
      arrList.add(3);
      System.out.println("Initial ArrayList: " + arrList);
      arrList.add(4);
      arrList.add(5);
      System.out.print("After adding elements: " + arrList);
   }
}

コードを実行するには、プロジェクト フォルダでターミナルを開き、次のコマンドでコードをコンパイルして実行します。

javac ArrayListAppend.java
java ArrayListAppend

コードを実行すると、次の出力が得られます。

Initial ArrayList: [1, 2, 3]
After adding elements: [1, 2, 3, 4, 5]

配列に要素を挿入する

配列に要素を挿入するには、次の手順に従います。

  • より大きなサイズの配列を作成する
  • 新しい要素が挿入されるまで、古い配列の要素を新しい配列の右にシフトする
  • インデックスが範囲外の場合、IndexOutOfBoundsException をスローする

以下は、配列に要素を挿入するコードです。

~/project/ArrayInsert.java

import java.util.Arrays;

public class ArrayInsert {
   public static int[] insertAtIndex(int[] arr, int elementToAdd, int index) {
      if (index > arr.length || index < 0) {
         throw new IndexOutOfBoundsException("Index is out of range!");
      } else {
         int[] newArr = new int[arr.length + 1];
         for (int i = 0, j = 0; i < arr.length; i++, j++) {
            if (i == index) {
               newArr[j++] = elementToAdd;
            }
            newArr[j] = arr[i];
         }
         return newArr;
      }
   }

   public static void main(String[] args) {
      int[] arr = {1, 2, 3, 4, 5};
      System.out.println("Initial Array: " + Arrays.toString(arr));
      arr = insertAtIndex(arr, 6, 2);
      System.out.println("After inserting at index 2: " + Arrays.toString(arr));
   }
}

コードを実行するには、プロジェクト フォルダでターミナルを開き、次のコマンドでコードをコンパイルして実行します。

javac ArrayInsert.java
java ArrayInsert

コードを実行すると、次の出力が得られます。

Initial Array: [1, 2, 3, 4, 5]
After inserting at index 2: [1, 2, 6, 3, 4, 5]

ArrayList に要素を挿入する

ArrayList に要素を挿入するには、次の手順に従います。

  • ArrayList を作成する
  • add() メソッドを使って ArrayList に要素を追加する
  • add() メソッドのオーバーロードされたバージョンを使って ArrayList に要素を挿入する

以下は、ArrayList に要素を挿入するコードです。

~/project/ArrayListInsert.java

import java.util.ArrayList;

public class ArrayListInsert {
   public static void main(String[] args) {
      ArrayList<Integer> arrList = new ArrayList<Integer>();
      arrList.add(1);
      arrList.add(2);
      arrList.add(3);
      System.out.println("Initial ArrayList: " + arrList);
      arrList.add(1, 5);
      arrList.add(3, 6);
      System.out.print("After inserting elements: " + arrList);
   }
}

コードを実行するには、プロジェクト フォルダでターミナルを開き、次のコマンドでコードをコンパイルして実行します。

javac ArrayListInsert.java
java ArrayListInsert

コードを実行すると、次の出力が得られます。

Initial ArrayList: [1, 2, 3]
After inserting elements: [1, 5, 2, 6, 3]

まとめ

この実験では、Java において配列と ArrayList に要素を追加する方法を紹介しました。配列と ArrayList に要素を追加する方法、および挿入する方法を学びました。追加は簡単ですが、配列の場合、挿入は少し複雑になることがありますが、ArrayList には簡単な挿入メソッドがあります。常に配列または ArrayList の範囲内に収まるように注意してください。そうでない場合、IndexOutOfBoundsException が発生します。