在 Java 中填充陣列

Mohd Ebad Naqvi 2023年10月12日
  1. 在 Java 中使用 { } 填充陣列
  2. 在 Java 中使用 for 迴圈填充陣列
  3. 使用 Arrays.copyOf() 方法填充 Java 陣列中的元素
  4. 使用 Arrays.fill() 方法填充 Java 陣列中的元素
在 Java 中填充陣列

根據使用者定義,陣列將是原始的,或類的物件(或非原始)引用。

在原始資料型別陣列中,元素儲存在連續的記憶體位置。相反,在非原始資料型別中,元素儲存在動態記憶體(堆段)中。

在本教程中,我們用 Java 填充一個陣列。在這裡填充意味著用一些值填充陣列。

在 Java 中使用 { } 填充陣列

它是填充陣列的基本方法,也是最簡單的方法之一。花括號 {} 用於定義陣列的元素。

例如,

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 類。此函式複製特定陣列並在需要時使用零或空值截斷它以保持複製陣列的給定長度。

原始陣列和複製陣列中的所有有效索引都將具有相同的值。

例如,

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