how add elements an array java
このチュートリアルでは、Javaで配列に要素を追加するためのさまざまな方法について説明します。いくつかのオプションは、新しい配列を使用する、ArrayListを使用するなどです。
Javaの配列は固定サイズです。つまり、一度宣言すると、サイズを変更することはできません。したがって、配列に新しい要素を追加する必要がある場合は、以下のいずれかの方法に従うことができます。
- 元の配列よりも大きい新しい配列を使用して、新しい要素を追加します。
- ArrayListを中間構造として使用します。
- 新しい要素に対応するために要素をシフトします。
=> すべてのJavaトレーニングシリーズを見るには、ここにアクセスしてください。
学習内容:
Java Add To Array –配列への要素の追加
このチュートリアルでは、配列に要素を追加するための上記の3つの方法すべてについて説明します。
新しい配列を使用して、元の配列と新しい要素に対応します
このアプローチでは、元の配列よりも大きいサイズの新しい配列を作成します。 例えば、 元の配列サイズがNの場合、1つの要素を追加する場合に備えて、サイズN +1の新しい配列を作成します。
新しい配列が作成されたら、N個の要素の元の配列を新しい配列にコピーできます。次に、(N + 1)に新しい要素を追加しますthロケーション。
上記のアプローチで要素を追加するプログラムを以下に示します。
import java.util.*; class Main{ // Function to add x in arr public static int[] add_element(int n, int myarray[], int ele) { int i; int newArray[] = new int[n + 1]; //copy original array into new array for (i = 0; i 出力:
この手法では、元の配列より1要素大きい新しい配列を作成するだけです。元の配列のすべての要素を新しい配列にコピーしてから、新しい配列の最後に新しい要素を挿入します。
これは非常に遅く、それほど効率的ではない従来の方法です。
ArrayListを中間構造として使用する
ArrayListは、本質的に動的なデータ構造です。したがって、配列リストのサイズを動的に増やして、要素をいくつでも追加できます。したがって、配列に要素を追加するときに、ArrayListを中間構造として使用できます。
配列に要素を追加するには、
- まず、ArrayListの「asList()」メソッドを使用して、配列をArrayListに変換できます。
- 「add」メソッドを使用して、ArrayListに要素を追加します。
- 「toArray()」メソッドを使用して、ArrayListを配列に変換し直します。
これらの手順を実装に取り入れましょう。
import java.util.*; class Main { public static void main(String[] args) { // Original array with size 5 Integer odd_Array[] = { 1,3,5,7,9 }; // display the original array System.out.println('Original Array:' + Arrays.toString(odd_Array)); // element to be added int val = 11; // convert array to Arraylist List oddlist = new ArrayList (Arrays.asList(odd_Array)); // Add the new element oddlist.add(val); // Convert the Arraylist back to array odd_Array = oddlist.toArray(odd_Array); // display the updated array System.out.println('
Array after adding element ' + val + ':' + Arrays.toString(odd_Array)); } }
出力:
上記のプログラムは、奇数の配列を示しています。 ArrayListに変換されます。次に、別の奇数がこのリストに追加されます。次に、ArrayListが配列に変換され、更新された配列が表示されます。
新しい要素に対応するために要素をシフトする
配列に要素を追加する上記の2つの方法は、配列の最後に追加される要素を処理しました。したがって、これらのメソッドは実装がかなり簡単でした。しかし、特定の位置に要素を追加する必要がある場合はどうでしょうか?
QAテストに入る方法
この場合、実装は少し難しいです。
手順の順序をリストしましょう。
- 元の配列よりも大きいサイズの新しい宛先配列を作成します。
- 次に、指定されたインデックスの前の元の配列から新しい配列に要素をコピーします。
- インデックスの後の要素を1つ右にシフトして、新しい要素用のスペースを作成します。
- 宛先配列の指定されたインデックスに新しい要素を挿入します。
次のプログラムは、この手法を実装しています。
importjava.util.*; class Main { public static void main(String[] args) { // Original array with size 5 Integer odd_Array[] = { 1,3,7,9,11 }; // display the original array System.out.println('Original Array:' + Arrays.toString(odd_Array)); // element to be added at index int val = 5; int index = 2; //dest array with size more than 1 of the original array int[] dest_Array = new int[odd_Array.length+1]; int j = 0; //Iterate dest_array and insert new element as well as shift other elements to the right for(int i = 0; i 出力:
ここで奇数の配列が与えられた場合、配列の位置(インデックス)2に番号5を挿入する必要があります。これを行うには、元の配列のサイズより1つ大きいサイズの別の宛先配列を作成します。ここでループを介して、新しい要素が追加されるインデックスに到達するまで、元の配列要素を新しい配列にシフトします。
新しい配列のインデックス2に新しい要素を追加します。次に、インデックス2から始めて、インデックスを1つ右にシフトすることにより、他のすべての要素を古い配列から新しい配列にコピーします。
よくある質問
Q#1)Javaで配列のサイズを増やすことはできますか?
回答: いいえ。インスタンス化された後、Javaで配列のサイズを増やすことはできません。配列に別のサイズが必要な場合は、新しい配列を作成してすべての要素を新しい配列に移動するか、サイズを動的に変更するArrayListを使用します。
Q#2)Javaで2つの配列を追加するにはどうすればよいですか?
回答: 2つの配列を追加するか、forループを使用して手動で結果の配列を作成できます。または、arrayCopyメソッドを使用して、ある配列を別の配列にコピーすることもできます。どちらの手法でも、両方のアレイを収容するのに十分なスペースがある結果のアレイを作成します。
Q#3)Javaの配列にArrayListを追加するにはどうすればよいですか?
回答: n個のアイテムのリストを作成します。次に、リストのtoArrayメソッドを使用して、リストを配列に変換します。
Q#4)Javaの拡張可能な配列とは何ですか?
回答: 拡張可能な配列は、アイテムが追加されるとサイズが大きくなる単純な動的配列です。 Javaでは、これはArrayListです。
Q#5)配列のサイズを割り当てずに配列を宣言できますか?
回答: いいえ。配列サイズは、使用する前に宣言する必要があります。そうでない場合は、コンパイルエラーが発生します。
Q#6)一度に複数の要素を配列に追加できますか?
回答: いいえ。特定の瞬間に配列に要素を1つだけ追加することはできません。一度に複数の要素を配列に追加する場合は、複数の要素を使用して配列を初期化するか、配列をArrayListに変換することを検討できます。 ArrayListには、ArrayListに複数の要素を追加できる「addAll」メソッドがあります。
ビデオファイルを圧縮するための最高のソフトウェア
結論
配列への新しい要素の追加は、3つの手法を使用して実行できます。最初の手法は効率が低く、サイズを大きくした新しい配列を作成し、以前の配列から要素をその配列にコピーしてから、新しい要素を追加します。
最も効率的な方法は、ArrayListを使用して新しい要素を追加することです。配列をArrayListに変換してから、要素をリストに追加するだけです。次に、ArrayListを配列に変換し直します。
これらの手法では、リストの最後に要素を追加するだけです。指定されたインデックスで配列の間に要素を追加する場合は、指定されたインデックスの後の要素を1つ右にシフトしてから、新しい要素に対応する必要があります。
このチュートリアルでは、これら3つのテクニックすべてを例とともに見てきました。以降のチュートリアルでは、さらにいくつかの配列操作について説明します。
=> ここですべてのJavaチュートリアルを確認してください。
推奨読書