Arrays.fill()方法

Java数组Arrays.fill()方法
实用型方法

用于一维数组、二维数组的初始化或者填充
对于一维数组和二维数组写点学习心得

在Java API 中的
public static void fill(Object[] a, int fromIndex, int toIndex, Object val)将指定的 Object 引用分配给指定 Object 数组指定范围中的每个元素。填充的范围从索引 fromIndex(包括)一直到索引 toIndex(不包括)。(如果 fromIndex==toIndex,则填充范围为空。)
参数:
a - 要填充的数组
fromIndex - 要使用指定值填充的第一个元素的索引(包括)
toIndex - 要使用指定值填充的最后一个元素的索引(不包括)
val - 要存储在数组的所有元素中的值
抛出:
IllegalArgumentException - 如果 fromIndex > toIndex
ArrayIndexOutOfBoundsException - 如果 fromIndex < 0 或 toIndex > a.length
ArrayStoreException - 如果指定值不是可存储在指定数组中的运行时类型

以boolean 举例(以下api截取):

  static void fill(boolean[] a, boolean val) 
    将指定的布尔值分配给指定的布尔数组的每个元素。  
    static void fill(boolean[] a, int fromIndex, int toIndex, boolean val) 
    将指定的布尔值分配给指定数组布尔值的指定范围的每个元素。 

一维数组举例:

    boolean[] a1 = new boolean[5];
    Arrays.fill( a1,true );
    结果 a1[] = {true,true,true,true,true};

 
	boolean[] a1 = new boolean[5];
    Arrays.fill( a1,true );
    Arrays.fill( a1,3,4,false);
    结果 a1[] = {true,true,true,false,true};

第一个参数指操作的数组,第二个和第三个指在该数组的某个区域内插入第四个参数,
一定要注意:1.java的数组下标从0开始
2.第二个参数指起始元素下标(包括该下标)
3.第三个参数指结束下标(不包括该下标)

二维数组举例:

 int[][] map=new int[4][5];
 Arrays.fill(map,-1);//失败

如果按照上述填充二维数组必定会报错。因为在函数的内部也是用for循环的方式实现的。
fill()函数源码:

public static void fill(Object[] a, Object val) {
    for (int i = 0, len = a.length; i < len; i++)
        a[i] = val;
}

但是我们可以这样赋值,把一维数组当做一个对象:

   int[][] map=new int[4][5];
   int[] ten=new int[10];
   Arrays.fill(ten, -1);
   Arrays.fill(map,ten);  //成功

end…


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

风起来

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值