Collections.fill方法用于将指定元素填充到已初始化的列表中,替换所有现有元素。需确保列表具有实际容量,如通过Collections.nCopies创建固定大小列表后使用fill进行统一赋值。

在Java中,Collections.fill 方法用于将指定的元素填充到列表中的所有位置。这个方法不会创建新列表,而是替换已有列表中的元素值。使用前需确保列表已经初始化并具有一定的大小。
方法签名
public static该方法接受两个参数:要操作的列表和用于填充的元素。它会把列表中的每一个元素都替换为传入的对象引用。
基本使用步骤
要正确使用 Collections.fill,需要先创建一个有实际容量的列表。常见方式是使用 Arrays.asList 或先添加足够数量的元素。
- 创建一个包含固定数量元素的列表,例如用 Collections.nCopies 初始化
- 或将已有列表传入 fill 方法
- 调用 Collections.fill(list, value) 填充新值
代码示例
下面是一个简单例子:
立即学习“Java免费学习笔记(深入)”;
ListCollections.fill(list, "Java"); System.out.println(list); // 输出: [Java, Java, Java, Java, Java]
这里先用 Collections.nCopies 创建了包含5个 "default" 的列表,然后通过 fill 将所有元素替换为 "Java"。
注意事项
不能对 null 列表或未初始化元素的空列表使用 fill。比如直接 new ArrayList() 后调用 fill 不会改变任何内容,因为列表长度为0。
- 确保列表不为空且已有元素
- fill 操作的是对象引用,多个位置指向同一对象时需注意可变性
- 适用于 String、Integer 等不可变类型更安全










