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 的范围。示例代码:
<pre class="brush:php;toolbar:false;">int[] arr = new int[5]; Arrays.fill(arr, 7); // 结果:arr = [7, 7, 7, 7, 7] <p>String[] names = new String[3]; Arrays.fill(names, "未知"); // 结果:names = ["未知", "未知", "未知"]</p>
如果只想修改数组的一部分,可以使用带索引范围的版本:
立即学习“Java免费学习笔记(深入)”;
<pre class="brush:php;toolbar:false;">int[] nums = {1, 2, 3, 4, 5};
Arrays.fill(nums, 1, 4, 0);
// 结果:nums = [1, 0, 0, 0, 5]
// 注意:索引1到3被设为0(左闭右开)
这个功能在需要局部重置数组时特别有用,比如处理滑动窗口或动态规划中的状态更新。
当对对象数组使用 Arrays.fill() 时需注意:所有元素将指向同一个对象引用。若后续修改该对象,会影响数组中所有位置。
<pre class="brush:php;toolbar:false;">StringBuilder[] builders = new StringBuilder[3];
Arrays.fill(builders, new StringBuilder("初始"));
// 此时三个元素都引用同一个 StringBuilder 实例
<p>builders[0].append("追加");
// builders[1] 和 builders[2] 输出也会包含“追加”</p>若要避免此问题,应逐个创建新对象实例,而不是依赖 fill 方法统一赋值。
基本上就这些。掌握 Arrays.fill() 能让数组初始化更简洁高效,尤其在算法题或需要批量赋值的场景中非常方便。注意使用范围参数和理解引用行为,就能避免常见陷阱。
以上就是Java中Arrays.fill数组填充方法的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号