Java の基本: 配列の長さ、配列のコピー

この記事では、配列の長さと配列コピーの内容について紹介します。

配列の長さ

Java では、配列の長さは、配列が保持できる要素の数を指します。配列の長さを取得する事前定義されたメソッドはありません。Java では、配列プロパティ length を使用して配列の長さを取得できます。

array.length : length は配列の最終変数です。長さ変数を使用すると、配列のサイズを取得できます。

コード例:

int[] a1 = new int[8];  
int lengthOfA1 = a1.length;

指定されたコード スニペットでは、a1 は 8 エントリの容量を持つ int 型の配列、lengthOfA1 は配列の長さを追跡する変数で、配列名 a1 の後にドット演算子と length 属性を使用します。配列のサイズを決定します。

配列コピー

実際の開発では配列のコピーが頻繁に行われますが、配列のコピー方法は大きく for ループを使用する場合、clone メソッドを使用する場合、arraycopy メソッドを使用する場合の 3 つに分けられます。

for ループ

for ループを使用して配列をコピーする場合、配列の長さプロパティを使用できます。

コードに直接進みましょう。

String[] a1 = {"java", "Spring", "SpringBoot", "MySQL"}; 
String[] a2 = new String[a1.length];

for (int i = 0; i < a1.length; i++) {
    a2[i] = a1[i];
}

コードから、新しい文字列配列 a1 が作成され、配列内に 4 つの文字列があることがわかります。

  • 「ジャワ」
  • "春"
  • 「スプリングブート」
  • 「MySQL」

次に、a1 と同じ長さの新しい配列 a2 を作成し、a1 配列をトラバースし、a1 の同じ座標にあるデータを a2 の同じ座標に代入することで、配列間のコピーが実現されます。

クローンメソッド

Object.clone() は、配列内の Object クラスを継承します。

clone メソッドを使用して、プリミティブ型の配列をコピーします。

String[] a1 = {"java", "Spring", "SpringBoot", "MySQL"}; 
 
String[] a2 = a1.clone();

クローン作成後の内容は同じですが、保持する参照が異なるため、一方を変更してももう一方には影響しません。

一方、同じ方法を使用して非プリミティブ型の配列のクローンを作成すると、結果は異なります。

arraycopy方法

Java では、System クラスには、配列をコピーする arraycopy() というメソッドが含まれています。この方法は、上記 2 つの方法よりも配列をコピーする優れた方法です。

arraycopy() メソッドを使用すると、ソース配列の指定された部分を宛先配列にコピーできます。

arraycopy(Object src, int srcPos,Object dest, int destPos, int length)
  • src : コピーするソース配列
  • srcPos : ソース配列内の開始位置 (インデックス)
  • dest : ソースから要素がコピーされる宛先の配列
  • destPos : 宛先配列内の開始位置 (インデックス)
  • length : コピーする要素の数

例を挙げてみましょう:

String[] a1 = {"java", "Spring", "SpringBoot", "MySQL"}; 

String[] a2 = new String[4];

System.arraycopy(a1, 0, a2, 0, a1.length);

要約する

この記事では、Java の配列の長さと配列をコピーする方法を紹介します (推奨される方法は、arraycopy メソッドを使用することです)。

おすすめ

転載: blog.csdn.net/weixin_43025343/article/details/132290788