Java Arrays.fill数组填充详解
Arrays.fill()用于填充数组,支持全量或局部填充,如Arrays.fill(arr,7)将数组所有元素设为7,Arrays.fill(nums,1,4,0)则填充索引1到3的元素为0;操作对象数组时所有元素共享同一引用,需注意避免修改影响。
Arrays.fill()用于填充数组,支持全量或局部填充,如Arrays.fill(arr, 7)将数组所有元素设为7,Arrays.fill(nums, 1, 4, 0)则填充索引1到3的元素为0;操作对象数组时所有元素共享同一引用,需注意避免修改影响。

在Java中,Arrays.fill() 是一个非常实用的工具方法,用于将指定的值填充到数组的每一个元素位置。它属于 java.util.Arrays 类,能帮助我们快速初始化或重置数组内容,避免手动遍历赋值。
基本用法
Arrays.fill() 支持各种类型的数组(如 int、double、String、Object 等),其最常用的语法如下:
Arrays.fill(array, value):将整个数组的所有元素设置为指定值。Arrays.fill(array, fromIndex, toIndex, value):只填充数组中从 fromIndex 到 toIndex - 1 的范围。
示例代码:
int[] arr = new int[5];
Arrays.fill(arr, 7);
// 结果:arr = [7, 7, 7, 7, 7]
String[] names = new String[3];
Arrays.fill(names, "未知");
// 结果:names = ["未知", "未知", "未知"]
指定范围填充
如果只想修改数组的一部分,可以使用带索引范围的版本:
int[] nums = {1, 2, 3, 4, 5};
Arrays.fill(nums, 1, 4, 0);
// 结果:nums = [1, 0, 0, 0, 5]
// 注意:索引1到3被设为0(左闭右开)
这个功能在需要局部重置数组时特别有用,比如处理滑动窗口或动态规划中的状态更新。
对象数组与引用问题
当对对象数组使用 Arrays.fill() 时需注意:所有元素将指向同一个对象引用。若后续修改该对象,会影响数组中所有位置。
StringBuilder[] builders = new StringBuilder[3];
Arrays.fill(builders, new StringBuilder("初始"));
// 此时三个元素都引用同一个 StringBuilder 实例
builders[0].append("追加");
// builders[1] 和 builders[2] 输出也会包含“追加”
若要避免此问题,应逐个创建新对象实例,而不是依赖 fill 方法统一赋值。
基本上就这些。掌握 Arrays.fill() 能让数组初始化更简洁高效,尤其在算法题或需要批量赋值的场景中非常方便。注意使用范围参数和理解引用行为,就能避免常见陷阱。
Windows 10 是一款微软推出的经典操作系统,拥有硬件兼容性与多任务处理能力。它更偏向把系统状态查看和常用调节动作放在一起,适合需要持续观察和微调设备状态的场景。
极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。
















