リストと配列は、Java でデータを保存する 2 つの方法であり、頻繁に使用されます。ファイル処理を一切行わずにデータを保存する必要があるプロジェクトでは、リストと配列を使用すると、プログラムの実行全体を通じてデータを保存できます。このチュートリアルでは、Java でリスト インターフェイスを実装する Class ArrayList を同じ意味で使用します。
リストと配列の違い
リスト | 配列 |
---|---|
リストのサイズは変更できます | 配列のサイズは変更できません |
プリミティブ型をリストに保存することはできません | プリミティブ型を配列に格納できます |
リストでジェネリックを使用できます | 配列ではジェネリックを使用できません |
より多くのメモリを消費します | メモリ消費量が少なくなる |
ライブラリ関数を使用してリストを配列に変換する
List には、配列内のテキストの配置を元のリストと同じように保持しながら、リストの内容を配列に直接変換するtoArray()メソッドがあります。この組み込みライブラリ関数を使用して Java でリストを配列に変換するアルゴリズムと手順を次に示します。- ArrayList を初期化します。
- list.add(data_type)メソッドを通じて要素をリストに追加します。
- リストと同じサイズの配列を作成します。
- 手順 3 で作成した配列の変数名を引数として使用して、リストを配列に変換します。
- 配列の内容を出力します。
import java.util.ArrayList;
public class convertListToArray {
public static void main(String[] args) {
//Converting List to Array With Library Function
//Declaration of Array List
ArrayList<String> sampleList = new ArrayList<String>();
//Adding Elements to Array List
sampleList.add("California");
sampleList.add("Texas");
sampleList.add("Illinois");
sampleList.add("Massachusetts");
sampleList.add("Florida");
sampleList.add("Virginia");
sampleList.add("Colorado");
//Printing the Array List
System.out.println("Elements of List: " + sampleList);
//Declaring Array with Equal Size to the List
String[]arr = new String [sampleList.size()];
//Converting List to Array
sampleList.toArray(arr);
//Printing the Array
System.out.print("Elements of Array: ");
for (int i = 0 ; i < arr.length ; i++){
System.out.print(arr[i] + " ");
}
}
}
ライブラリ関数を使用しないリストから配列への変換
場合によっては、組み込み関数を使用せずにリストを配列に変換する必要がある場合があります。現在の問題では、ライブラリ関数に関して特定の制限が使用される可能性があります。この要件は、関数を実装する前にライブラリ関数の内部動作を学習できるよう、ライブラリ関数を使用せずに作業することが推奨されているプログラミングの学生にとって一般的な要件です。このような場合、次の手順を使用して、ライブラリ関数を使用せずに Java でリストを配列に変換できます。- ArrayList を初期化します。
- list.add(data_type)メソッドを通じて要素をリストに追加します。
- リストと同じサイズの配列を作成します。
- ArrayList の各要素を反復処理する for ループを作成し、list.get(index)関数を通じてそれをArray[index]に渡します。
- 配列の内容を出力して、実際にリストを配列に変換していることを示します。
import java.util.ArrayList;
public class converListToArray2 {
public static void main(String[] args) {
//Converting List to Array Without Library Functions
//Declaration of Array List
ArrayList<String> sampleList = new ArrayList<String>();
//Adding Elements to Array List
sampleList.add("California");
sampleList.add("Texas");
sampleList.add("Illinois");
sampleList.add("Massachusetts");
sampleList.add("Florida");
sampleList.add("Virginia");
sampleList.add("Colorado");
//Printing the Array List
System.out.println("Elements of List: " + sampleList);
//Declaring Array with Equal Size to the List
String[]arr = new String [sampleList.size()];
//Converting to Array
for (int i = 0 ; i < arr.length ; i++){
arr[i] = sampleList.get(i);
}
//Printing the Array
System.out.print("Elements of Array: ");
for (int i = 0 ; i < arr.length ; i++){
System.out.print(arr[i] + " ");
}
}
}
同様に、配列をリストに変換する方法が気になる場合は、組み込みのArray.asList()メソッドを使用するか、配列を反復処理してリストの各インデックスに値を格納することで変換できます。
GO TO FULL VERSION