Java で配列を作成する

Mohd Ebad Naqvi 2023年10月12日
  1. Java で { } を使用して配列を作成する
  2. Java で for ループを使用して配列を作成する
  3. Arrays.copyOf() メソッドを使用して Java 配列の要素を埋める
  4. Arrays.fill() メソッドを使用して Java 配列の要素を埋める
Java で配列を作成する

ユーザー定義に基づいて、配列はプリミティブ、またはクラスのオブジェクト(または非プリミティブ)参照になります。

プリミティブデータ型配列では、要素は連続したメモリ位置に格納されます。対照的に、非プリミティブデータ型では、要素はダイナミックメモリ(ヒープセグメント)に格納されます。

このチュートリアルでは、Java で配列を設定します。ここに入力するということは、配列にいくつかの値を入力することを意味します。

Java で { } を使用して配列を作成する

これは、配列にデータを入力するための基本的で最も簡単な方法の 1つです。中括弧{}は、配列の要素を定義するために使用されます。

例えば、

import java.util.*;
public class Num {
  public static void main(String args[]) {
    int arr[] = {1, 3, 5, 7, 11}; // Declaration of elements using { }

    for (int j = 0; j < arr.length; j++) {
      System.out.print(array[j] + " ");
    }
  }
}

出力:

1 3 5 7 11

Java で for ループを使用して配列を作成する

Scanner クラスは、ユーザーから配列要素をスキャンするために使用されます。ユーザーの長さと Scanner クラス要素のオブジェクトを使用することが各反復で入力されるまで、ループを実行します。

次のコードを参照してください。

import java.util.Scanner;
public class ArrayInputUsingLoop {
  public static void main(String[] args) {
    int number;
    Scanner obj = new Scanner(System.in);
    System.out.print("Total number of elements: ");
    number = obj.nextInt();
    int[] array = new int[20];
    System.out.println("Enter the elements of the array: ");
    for (int i = 0; i < number; i++) {
      array[i] = obj.nextInt(); // reads elements from the user
    }
    System.out.println("Array elements you entered are: ");
    for (int i = 0; i < number; i++) {
      System.out.println(array[i]);
    }
  }
}

出力:

Total number of elements: 5
Enter the elements of the array: 
5
4
3
2
1
Array elements you entered are: 
5
4
3
2
1

Arrays.copyOf() メソッドを使用して Java 配列の要素を埋める

Array.copyOf() メソッドは java.util.Arrays クラスに属しています。この関数は、特定の配列をコピーし、コピー配列の指定された長さを維持する必要がある場合は、ゼロまたは null 値で切り捨てます。

元の配列とコピーされた配列のすべての有効なインデックスに同じ値があります。

例えば、

import java.util.Arrays;

public class Main {
  public static void main(String[] args) {
    int[] array1 = new int[] {8, 9, 10, 11, 12};

    System.out.println("First array is:");
    for (int i = 0; i < array1.length; i++) {
      System.out.println(array1[i]);
    }

    int[] array2 = Arrays.copyOf(array1, 7);
    array2[5] = 6;
    array2[6] = 7;

    System.out.println("New array after copying elements is:");
    for (int i = 0; i < array2.length; i++) {
      System.out.println(array2[i]);
    }
  }
}

出力:

First array is:
8
9
10
11
12
New array after copying elements is:
8
9
10
11
12
6
7

長さが元の配列を超える場合、余分な要素は 0 の値で補正されます。

例えば、

import java.util.Arrays;

public class ArrayCopy {
  public static void main(String args[]) {
    int[] originalarray = new int[] {7, 8, 9};
    System.out.println("The Original Array is : \n");
    for (int i = 0; i < originalarray.length; i++) System.out.print(originalarray[i] + " ");

    int[] copyarray = Arrays.copyOf(originalarray, 5);

    System.out.print("\nNew Array copy of greater length is:\n");
    for (int i = 0; i < copyarray.length; i++) System.out.print(copyarray[i] + " ");
  }
}

出力:

The Original Array is : 
7 8 9 
New Array copy of greater length is:
7 8 9 0 0 

Arrays.fill() メソッドを使用して Java 配列の要素を埋める

Arrays.fill() メソッドは java.util.Arrays クラスに属しています。

この方法を使用すると、特定の配列内のすべての要素を新しく入力した要素に置き換えることができます。配列のすべての位置は、値で指定された要素に置き換えられるか、埋められます。

例えば、

import java.util.Arrays;

public class ArrayFill {
  public static void main(String[] args) {
    int array[] = {6, 7, 8, 9, 10};

    Arrays.fill(array, 5);
    System.out.println(Arrays.toString(array));
  }
}

出力:

[5, 5, 5, 5, 5]

インデックスを指定することにより、元の配列を新しい要素で部分的に埋めることができます。

例えば、

import java.util.Arrays;

public class ArrayFill2 {
  public static void main(String[] args) {
    int array[] = {7, 8, 9, 10, 11};

    Arrays.fill(array, 2, 5, 0); // Replace elements from index 2 to index 4 by 0

    System.out.println(Arrays.toString(array));
  }
}

出力:

[7, 8, 0, 0, 0]

関連記事 - Java Array