Arrays.fill用于填充数组,支持全量或区间赋值。示例:Arrays.fill(arr, 7)将数组所有元素设为7;Arrays.fill(arr, 1, 4, 9)将索引1到3的元素设为9。支持基本类型和对象类型,如String[] names = new String[3]; Arrays.fill(names, “Unknown”)。注意:对象数组填充的是引用,修改一个实例会影响所有元素;区间参数需合法,否则抛异常。相比循环,Arrays.fill更简洁高效,适用于初始化或重置数组,尤其在算法题中常用。

在Java中,Arrays.fill 是一个非常实用的工具方法,用于快速初始化或填充数组中的所有元素为指定值。它属于 java.util.Arrays 类,使用前需要导入该类。
Arrays.fill 的基本用法
该方法可以用于各种类型的数组(如 int、double、boolean、Object 等),将整个数组或部分元素设置为同一个值。
常用语法如下:
Arrays.fill(array, value):将整个数组填充为指定值。 Arrays.fill(array, fromIndex, toIndex, value):只填充数组的某一段(左闭右开区间)。
示例代码:
立即学习“Java免费学习笔记(深入)”;
import java.util.Arrays;public class ArrayFillExample { public static void main(String[] args) { int[] arr = new int[5]; Arrays.fill(arr, 7); // 全部填为 7 System.out.println(Arrays.toString(arr)); // 输出: [7, 7, 7, 7, 7] Arrays.fill(arr, 1, 4, 9); // 索引1到3填为9 System.out.println(Arrays.toString(arr)); // 输出: [7, 9, 9, 9, 7] }}
支持的数据类型
Arrays.fill 支持所有基本数据类型和引用类型:
数值类型:byte、short、int、long、float、double 布尔类型:boolean 字符类型:char 对象数组:String、自定义类等
例如,初始化一个字符串数组:
Pic Copilot
AI时代的顶级电商设计师,轻松打造爆款产品图片
158 查看详情
String[] names = new String[3];Arrays.fill(names, "Unknown");System.out.println(Arrays.toString(names)); // [Unknown, Unknown, Unknown]
与数组初始化的区别
直接声明时赋值适用于已知具体值的情况:
int[] arr1 = {1, 2, 3}; // 静态初始化
而 Arrays.fill 更适合在运行时动态设置默认值或重置数组内容,尤其是大数组或需要统一赋值的场景。
比如创建一个长度为100的布尔数组,表示是否访问过:
boolean[] visited = new boolean[100];Arrays.fill(visited, false); // 显式设为false(其实默认就是false)
注意事项
使用时需注意以下几点:
填充的是“值”,对于基本类型是复制值,对于对象数组,是复制引用——即所有元素指向同一个对象实例。 如果对对象数组使用 Arrays.fill(arr, obj),修改其中一个元素的内容可能影响其他元素(如果它们共享同一对象)。 fromIndex 和 toIndex 必须合法,否则会抛出 ArrayIndexOutOfBoundsException 或 IllegalArgumentException。
基本上就这些。Arrays.fill 提供了一种简洁高效的方式完成数组初始化或批量赋值,尤其适合算法题或需要清空/重置数组的场景,比手动写循环更清晰安全。
以上就是在Java中如何使用Arrays.fill填充数组_数组初始化与填充值说明的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1052894.html
微信扫一扫
支付宝扫一扫