List

Java – ArrayListと2次元配列を相互に変換する方法を解説

JavaでArrayListと2次元配列を相互に変換するには、以下の方法を使用します。

ArrayListから2次元配列への変換は、toArray()メソッドを利用します。

例えば、ArrayList<ArrayList<Integer>>を2次元配列に変換する場合、各内側のリストを個別に配列に変換し、それを外側の配列に格納します。

一方、2次元配列からArrayListへの変換は、Arrays.asList()やループを用いて各行をリストに変換し、それを外側のArrayListに追加します。

ArrayListから2次元配列への変換方法

JavaのArrayListを2次元配列に変換する方法について解説します。

ArrayListは可変長の配列であり、要素の追加や削除が容易ですが、特定の形式でデータを扱いたい場合には2次元配列に変換することが必要です。

以下のコードは、ArrayListを2次元配列に変換する方法を示しています。

import java.util.ArrayList;
public class App {
    public static void main(String[] args) {
        // ArrayListの作成
        ArrayList<ArrayList<String>> arrayList = new ArrayList<>();
        // データの追加
        ArrayList<String> row1 = new ArrayList<>();
        row1.add("A");
        row1.add("B");
        arrayList.add(row1);
        ArrayList<String> row2 = new ArrayList<>();
        row2.add("C");
        row2.add("D");
        arrayList.add(row2);
        // 2次元配列への変換
        String[][] array = new String[arrayList.size()][];
        for (int i = 0; i < arrayList.size(); i++) {
            ArrayList<String> row = arrayList.get(i);
            array[i] = row.toArray(new String[0]); // ArrayListを配列に変換
        }
        // 結果の表示
        for (String[] row : array) {
            for (String element : row) {
                System.out.print(element + " ");
            }
            System.out.println();
        }
    }
}
A B 
C D

このコードでは、まずArrayListを作成し、2つの行を追加しています。

その後、ArrayListのサイズに基づいて2次元配列を初期化し、各行をArrayListから配列に変換しています。

最後に、変換した2次元配列の内容を表示しています。

2次元配列からArrayListへの変換方法

2次元配列をArrayListに変換する方法について解説します。

2次元配列は固定サイズのデータ構造ですが、ArrayListは可変長であるため、データの追加や削除が容易です。

この変換を行うことで、より柔軟にデータを扱うことができます。

以下のコードは、2次元配列をArrayListに変換する方法を示しています。

import java.util.ArrayList;
public class App {
    public static void main(String[] args) {
        // 2次元配列の作成
        String[][] array = {
            {"A", "B"},
            {"C", "D"}
        };
        // ArrayListの作成
        ArrayList<ArrayList<String>> arrayList = new ArrayList<>();
        // 2次元配列からArrayListへの変換
        for (String[] row : array) {
            ArrayList<String> listRow = new ArrayList<>();
            for (String element : row) {
                listRow.add(element); // 要素をArrayListに追加
            }
            arrayList.add(listRow); // 行をArrayListに追加
        }
        // 結果の表示
        for (ArrayList<String> row : arrayList) {
            for (String element : row) {
                System.out.print(element + " ");
            }
            System.out.println();
        }
    }
}
A B 
C D

このコードでは、まず2次元配列を作成し、その後、各行をArrayListに変換しています。

内側のループで各要素をArrayListに追加し、外側のループで行全体をArrayListに追加しています。

最後に、変換したArrayListの内容を表示しています。

これにより、2次元配列のデータを柔軟に扱うことが可能になります。

実践例:ArrayListと2次元配列の相互変換

ここでは、ArrayListと2次元配列の相互変換を実際に行う例を示します。

この例では、まずArrayListを作成し、それを2次元配列に変換します。

その後、変換した2次元配列を再びArrayListに戻します。

これにより、両者の変換方法を理解することができます。

以下のコードは、ArrayListと2次元配列の相互変換を行う方法を示しています。

import java.util.ArrayList;
public class App {
    public static void main(String[] args) {
        // ArrayListの作成
        ArrayList<ArrayList<String>> arrayList = new ArrayList<>();
        // データの追加
        ArrayList<String> row1 = new ArrayList<>();
        row1.add("A");
        row1.add("B");
        arrayList.add(row1);
        ArrayList<String> row2 = new ArrayList<>();
        row2.add("C");
        row2.add("D");
        arrayList.add(row2);
        // ArrayListから2次元配列への変換
        String[][] array = new String[arrayList.size()][];
        for (int i = 0; i < arrayList.size(); i++) {
            ArrayList<String> row = arrayList.get(i);
            array[i] = row.toArray(new String[0]); // ArrayListを配列に変換
        }
        // 2次元配列からArrayListへの変換
        ArrayList<ArrayList<String>> newArrayList = new ArrayList<>();
        for (String[] row : array) {
            ArrayList<String> listRow = new ArrayList<>();
            for (String element : row) {
                listRow.add(element); // 要素をArrayListに追加
            }
            newArrayList.add(listRow); // 行をArrayListに追加
        }
        // 結果の表示
        System.out.println("ArrayListから2次元配列への変換結果:");
        for (String[] row : array) {
            for (String element : row) {
                System.out.print(element + " ");
            }
            System.out.println();
        }
        System.out.println("2次元配列からArrayListへの変換結果:");
        for (ArrayList<String> row : newArrayList) {
            for (String element : row) {
                System.out.print(element + " ");
            }
            System.out.println();
        }
    }
}
ArrayListから2次元配列への変換結果:
A B 
C D 
2次元配列からArrayListへの変換結果:
A B 
C D

このコードでは、最初にArrayListを作成し、2つの行を追加しています。

その後、ArrayListを2次元配列に変換し、さらにその2次元配列を再びArrayListに変換しています。

最終的に、両方の変換結果を表示することで、相互変換の過程を確認できます。

この実践例を通じて、ArrayListと2次元配列の使い方をより深く理解することができます。

まとめ

この記事では、ArrayListと2次元配列の相互変換について詳しく解説しました。

具体的なサンプルコードを通じて、両者の変換方法を実践的に学ぶことができました。

これを機に、Javaのデータ構造を活用して、より柔軟なプログラミングを試みてみてはいかがでしょうか。

関連記事

Back to top button