Java Arrays.fill()方法

原文:https://www.studytonight.com/java-util/java-arrays-fill-method

在本教程中,我们将学习 JavaArrays类的fill()方法。使用这种方法,我们可以将特定值赋给所有数组元素或指定范围内的元素。当需要从一个数组中初始化一个特定的值到元素组时,我们使用这个方法。

句法

public static void fill(datatype[] array,datatype val)

此方法接收一个数组和值,然后将该值赋给所有数组索引。

fill ()方法重载方法列表

此表包含fill ()方法的所有重载变体。

方法 描述
静态空隙填充(布尔[]数组,布尔 val) 此方法将指定的布尔值赋给指定布尔数组的每个元素。
静态空隙填充(布尔[]数组,int fromIndex,int toIndex,布尔 val) 此方法将指定的布尔值分配给指定布尔数组的指定范围的每个元素。
静态空隙填充(字节[]数组,字节 val) 此方法将指定的字节值分配给指定字节数组的每个元素。
静态空隙填充(字节[]数组,int fromIndex,int toIndex,byte val) 此方法将指定的字节值分配给指定字节数组的指定范围的每个元素。
静态空隙填充(char[]数组,char val) 此方法将指定的字符值分配给指定字符数组的每个元素。
静态视线填充(char[]数组,int fromIndex,int toIndex,char val) 此方法将指定的字符值分配给指定字符数组的指定范围的每个元素。
静态空隙填充(双[]数组,双 val) 此方法将指定的双精度值赋给指定的双精度数组的每个元素。
静态空隙填充(double[]数组,int fromIndex,int toIndex,double val) 此方法将指定的双精度值赋给指定双精度数组的指定范围的每个元素。
静态空隙填充(float[]数组,float val) 此方法将指定的浮点值分配给指定浮点数组的每个元素。
静态空隙填充(float[]数组,int fromIndex,int toIndex,float val) 此方法将指定的浮点值分配给指定浮点数组的指定范围的每个元素。
静态空隙填充(int[]数组,int val) 此方法将指定的 int 值赋给指定的 int 数组的每个元素。
静态空隙填充(int[]数组,int fromIndex,int toIndex,int val) 此方法将指定的 int 值赋给指定 int 数组的指定范围的每个元素。
静态空隙填充(long[]数组,int fromIndex,int toIndex,long val) 此方法将指定的长值赋给指定的长数组的指定范围的每个元素。
静态空隙填充(长[]数组,长 val) 此方法将指定的长值赋给指定的长数组的每个元素。
静态空隙填充(短[]数组,int fromIndex,int toIndex,短 val) 此方法将指定的短值分配给指定短数组的指定范围的每个元素。
静态空隙填充(短[]数组,短 val) 此方法将指定的短值分配给指定短数组的每个元素。
静态空隙填充(对象[]数组,int fromIndex,int toIndex,Object val) 此方法将指定的对象引用分配给指定对象数组的指定范围的每个元素。
静态空隙填充(对象[]数组,对象值) 此方法将指定的对象引用分配给指定对象数组的每个元素。

示例:将元素填充到数组中

在下面给出的程序中,我们可以看到一个现有的数组arr ,它包含不同的元素和不同的值,但是在应用 fill()方法后,所有的数组元素都被值5填充。

import java.util.Arrays;
class StudyTonight { 
    public static void main(String args[]) 
    { 
        int arr[] = {12, 21, 31, 81, 53, 24, 42, 41, 62};           
        Arrays.fill(arr, 5); 
        for(int num:arr)
        {
            System.out.print(num+" ");
        } 
    } 
}

5 5 5 5 5 5 5 5 5 5

示例:将元素填充到特定索引的数组中

上述方法用于初始化所有数组元素。如果我们想要初始化一个特定的元素范围呢?在这种情况下,我们有另一个重载方法,类似于Arrays类的其他重载方法。在下面给出的代码中,我们可以看到第 2 到第 7 个索引的数组元素被替换为 8。

import java.util.Arrays;
class StudyTonight { 
    public static void main(String args[]) 
    { 
        int arr[] = {12, 21, 31, 81, 53, 24, 42, 41, 62};           
        Arrays.fill(arr, 2, 7, 8); 
        for(int num:arr)
        {
            System.out.print(num+" ");
        } 
    } 
}

12 21 8 8 8 8 41 62

其重载方法示例

在下面的例子中,我们在各种数据类型上实现了fill()方法,如floatlongchar。我们可以通过比较代码中的参数和控制台中的输出来理解实现。

import java.util.Arrays;
class StudyTonight{ 
    public static void main(String args[]) 
    {  
        //example for float
        float array1[] = {12, 21, 31, 1, 53, 24, 42, 41, 62}; 
        System.out.println("\nExample of fill() with flaot:\n"+Arrays.toString(array1));
        Arrays.fill(array1, 2, 7, 44); 
        System.out.println(Arrays.toString(array1));

        //example for long
        long array2[] = {8, 7, 5, 1, 9, 2, 4, 7, 3}; 
        System.out.println("\nExample of fill() with long:\n"+Arrays.toString(array2));
        Arrays.fill(array2, 1, 6, 9); 
        System.out.println(Arrays.toString(array2));

        //example for char
        char array3[] = {'s', 't', 'u', 'd', 'y', 't', 'o', 'n', 'i', 'g', 'h', 't'}; 
        System.out.println("\nExample of fill() with long:\n"+Arrays.toString(array3));
        Arrays.fill(array3, 0, 8, 's'); 
        System.out.println(Arrays.toString(array3));
    }
}

用 flaot 填充()的示例: 【12.0,21.0,31.0,1.0,53.0,24.0,42.0,41.0,62.0】 【12.0,21.0,44.0,44.0,44.0,44.0,41.0,62.0】

用 long 填充()的示例: 【8,

结论

在本教程中,我们学习了 fill()方法如何使用public static void fill(datatype[] array,datatype val)初始化完整的数组。如果我们想在那个时候初始化一个特定的范围,我们有另一个重载方法public static void fill(datatype[] array,datatype fromIndex, datatype toIndex, datatype val)