在 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]