Java で int 配列の ArrayList を取得する
-
int 型の
ArrayList
を作成する -
ArrayList
のインデックスに整数要素を追加する -
インデックスを使用して
ArrayList
要素にアクセスする - int 配列の ArrayList
-
ArrayList
から int 配列要素にアクセスする - ArrayLists の ArrayList
- まとめ
このチュートリアルでは、Java で int の ArrayList
を取得する方法を紹介し、トピックを理解するためのサンプルコードをいくつかリストします。
ArrayList
は動的またはサイズ変更可能な配列です。これは、Java のコレクションフレームワークの一部です。ArrayList
は、通常の配列の固定サイズの問題を克服するために使用されます。このチュートリアルでは、int の ArrayList
を作成する方法を学習します。
int 型の ArrayList
を作成する
ArrayList
またはその他のコレクションは、int などのプリミティブデータ型を格納できません。以下に示すコードを書くと、コンパイルエラーが発生します。
public class Demo {
public static void main(String[] args) {
ArrayList<int> arrList;
}
}
出力:
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
Syntax error, insert "Dimensions" to complete ReferenceType
at snippet.Demo.main(Demo.java:7)
代わりに、ラッパークラスを使用してプリミティブを ArrayList
に格納します。各プリミティブデータ型には、同じ型のオブジェクトを表す対応するラッパークラスがあります。int データ型の場合、ラッパークラスは整数
と呼ばれます。したがって、int の ArrayList
を作成するには、その型として Integer
ラッパークラスを使用する必要があります。
import java.util.ArrayList;
public class Demo {
public static void main(String[] args) {
ArrayList<Integer> arrList = new ArrayList<Integer>();
}
}
クラスの add()
メソッドを使用して、ArrayList
に整数を追加できるようになりました。
import java.util.ArrayList;
public class Demo {
public static void main(String[] args) {
ArrayList<Integer> arrList = new ArrayList<Integer>();
arrList.add(5);
arrList.add(7);
arrList.add(12);
}
}
ArrayList
は、通常の配列と同様に、ゼロベースのインデックス付けに従います。add()
メソッドでオブジェクトを追加するインデックスを指定できます。そのインデックスに存在する要素とその右側のすべての要素は、1つ右にシフトします。
ArrayList
のインデックスに整数要素を追加する
import java.util.ArrayList;
public class Demo {
public static void main(String[] args) {
ArrayList<Integer> arrList = new ArrayList<Integer>();
arrList.add(5);
arrList.add(7);
arrList.add(12);
arrList.add(1, 199); // Inserting 199 at index 1.
}
}
インデックスを使用して ArrayList
要素にアクセスする
インデックスを使用して、個々の ArrayList
アイテムをフェッチできます。インデックス値を get()
メソッドに渡して、必要な要素をフェッチします。
import java.util.ArrayList;
public class Demo {
public static void main(String[] args) {
ArrayList<Integer> arrList = new ArrayList<Integer>();
arrList.add(5);
arrList.add(7);
arrList.add(12);
arrList.add(1, 199); // Inserting 199 at index 1.
System.out.println("Element at index 1: " + arrList.get(1));
System.out.println("Element at index 2: " + arrList.get(2));
}
}
出力:
Element at index 1: 199
Element at index 2: 7
単一の print ステートメントを使用して、ArrayList
全体を出力することもできます。
import java.util.ArrayList;
public class Demo {
public static void main(String[] args) {
ArrayList<Integer> arrList = new ArrayList<Integer>();
arrList.add(5);
arrList.add(7);
arrList.add(12);
System.out.println("Printing the ArrayList: " + arrList);
arrList.add(1, 199); // Inserting 199 at index 1.
System.out.println("Printing the ArrayList: " + arrList);
}
}
出力:
Printing the ArrayList: [5, 7, 12]
Printing the ArrayList: [5, 199, 7, 12]
int 配列の ArrayList
各要素自体が配列である ArrayList
を作成できます。データ型と角かっこを使用して、新しい配列を作成します。
同様に、int[]
を使用して ArrayList
のタイプを定義しました。int のようなプリミティブを ArrayList
型として使用することはできませんが、int []を使用することはできます。これは、Java の配列がオブジェクトであり、プリミティブではないためです。また、ArrayList
は任意のオブジェクトタイプ(この場合は配列)で作成できます。
ArrayList<int[]> arrList = new ArrayList<int[]>();
上記で説明したすべての基本操作を実行できます。配列をコンソールに適切に出力するには、Arrays
の toString()
メソッドを使用する必要があります。
import java.util.ArrayList;
import java.util.Arrays;
public class Demo {
public static void main(String[] args) {
ArrayList<int[]> arrList = new ArrayList<int[]>();
int[] arr1 = {2, 4, 6};
int[] arr2 = {3, 6, 9};
int[] arr3 = {5, 10, 15};
// Adding int arrays to the ArrayList
arrList.add(arr1);
arrList.add(arr2);
arrList.add(arr3);
// Fetching the array from the List
int[] arrAtIdx1 = arrList.get(1);
// Printing the fetched array using the toString() method of Arrays
System.out.println("The Second array in the List is: " + Arrays.toString(arrAtIdx1));
}
}
出力:
The Second array in the List is: [3, 6, 9]
ArrayList
から int 配列要素にアクセスする
ArrayList
にある int 配列の個々の要素にアクセスすることもできます。これを行うには、配列インデックスを使用します。たとえば、3 番目の配列の 2 番目の要素にアクセスする場合は、次のコードを使用します。
import java.util.ArrayList;
public class Demo {
public static void main(String[] args) {
ArrayList<int[]> arrList = new ArrayList<int[]>();
int[] arr1 = {2, 4, 6};
int[] arr2 = {3, 6, 9};
int[] arr3 = {5, 10, 15};
// Adding int arrays to the ArrayList
arrList.add(arr1);
arrList.add(arr2);
arrList.add(arr3);
// Fetching the second element of the third array
int[] thirdArr = arrList.get(2);
int secondElement = thirdArr[1];
System.out.println("Second Element of the Third Array is: " + secondElement);
}
}
出力:
Second Element of the Third Array is: 10
ただし、配列の ArrayList
全体を出力するには、追加のコードが必要です。
import java.util.ArrayList;
import java.util.Arrays;
public class Demo {
public static void main(String[] args) {
ArrayList<int[]> arrList = new ArrayList<int[]>();
int[] arr1 = {2, 4, 6};
int[] arr2 = {3, 6, 9};
int[] arr3 = {5, 10, 15};
// Adding int arrays to the ArrayList
arrList.add(arr1);
arrList.add(arr2);
arrList.add(arr3);
for (int i = 0; i < arrList.size(); i++) {
int[] currArr = arrList.get(i);
System.out.println("Array at index " + i + " is: " + Arrays.toString(currArr));
}
}
}
出力:
Array at index 0 is: [2, 4, 6]
Array at index 1 is: [3, 6, 9]
Array at index 2 is: [5, 10, 15]
ArrayLists の ArrayList
上で説明したように、配列は固定長ですが、ArrayLists
は動的です。int 配列の ArrayList
を作成する代わりに、Integer``ArrayLists
の ArrayList
を作成できます。これにより、アレイのスペースが不足することを心配する必要がなくなります。
ArrayList<ArrayList<Integer> > arrListOfarrLists = new ArrayList<ArrayList<Integer> >();
以前と同じように、add()
メソッドと get()
メソッドを使用できます。ただし、各 ArrayList
要素を出力するにはループが必要です。
import java.util.ArrayList;
public class Demo {
public static void main(String[] args) {
ArrayList<ArrayList<Integer> > arrListOfarrLists = new ArrayList<ArrayList<Integer> >();
// Creating individual ArrayLists
ArrayList<Integer> arrList1 = new ArrayList<>();
arrList1.add(2);
arrList1.add(4);
arrList1.add(6);
ArrayList<Integer> arrList2 = new ArrayList<>();
arrList2.add(3);
arrList2.add(6);
arrList2.add(9);
ArrayList<Integer> arrList3 = new ArrayList<>();
arrList3.add(5);
arrList3.add(10);
arrList3.add(15);
// Adding ArrayLists to the ArrayList
arrListOfarrLists.add(arrList1);
arrListOfarrLists.add(arrList2);
arrListOfarrLists.add(arrList3);
// Fetching ArrayList
ArrayList<Integer> listAtIdx1 = arrListOfarrLists.get(1);
System.out.println("ArrayList present at index 1 is: " + listAtIdx1 + "\n");
// Printing the entire ArrayList
for (int i = 0; i < arrListOfarrLists.size(); i++)
System.out.println("ArrayList at index " + i + " is " + arrListOfarrLists.get(i));
}
}
出力:
ArrayList present at index 1 is: [3, 6, 9]
ArrayList at index 0 is [2, 4, 6]
ArrayList at index 1 is [3, 6, 9]
ArrayList at index 2 is [5, 10, 15]
ArrayList
の個々の要素にアクセスする場合は、get()
メソッドを 2 回使用します。たとえば、3 番目の ArrayList
の 2 番目の要素が必要な場合は、次のように使用します。
import java.util.ArrayList;
public class Demo {
public static void main(String[] args) {
ArrayList<ArrayList<Integer> > arrListOfarrLists = new ArrayList<ArrayList<Integer> >();
// Creating individual ArrayLists
ArrayList<Integer> arrList1 = new ArrayList<>();
arrList1.add(2);
arrList1.add(4);
arrList1.add(6);
ArrayList<Integer> arrList2 = new ArrayList<>();
arrList2.add(3);
arrList2.add(6);
arrList2.add(9);
ArrayList<Integer> arrList3 = new ArrayList<>();
arrList3.add(5);
arrList3.add(10);
arrList3.add(15);
// Adding ArrayLists to the ArrayList
arrListOfarrLists.add(arrList1);
arrListOfarrLists.add(arrList2);
arrListOfarrLists.add(arrList3);
// Fetching second element of the third ArrayList
ArrayList<Integer> thirdList = arrListOfarrLists.get(2);
int secondElement = thirdList.get(1);
System.out.print("second element of the third ArrayList is: " + secondElement);
}
}
出力:
second element of the third ArrayList is: 10
まとめ
ArrayList
は、おそらく Java で最も一般的に使用されるコレクションです。これは、同じタイプの要素を格納するために使用される単純なデータ構造です。int のようなプリミティブ型の ArrayList
を作成することはできません。これらのプリミティブのラッパークラスを使用する必要があります。ArrayList
クラスは、リストから要素を追加およびフェッチするための便利なメソッドを提供します。配列の ArrayList
または ArrayLists
の ArrayList
を作成することもできます。これらは主に、2D マトリックス形式または表形式でデータを表すために使用されます。サイズを制限しないので、ArrayLists
の ArrayList
を使用することをお勧めします。