Java 中List集合如何只读, 不能写入
时间: 2024-02-27 13:54:05 浏览: 126
在 Java 中,可以使用 `java.util.Collections` 类的 `unmodifiableList()` 方法来创建只读的 `List` 集合。该方法返回一个只读的 `List` 封装对象,该对象基于原始的 `List` 对象,但是不允许进行修改操作。
以下是一个示例代码:
```java
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class ReadOnlyListExample {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("apple");
list.add("banana");
list.add("orange");
List<String> readOnlyList = Collections.unmodifiableList(list);
// 以下操作会抛出 UnsupportedOperationException 异常
readOnlyList.add("pear");
readOnlyList.remove(0);
readOnlyList.set(1, "grape");
// 可以进行遍历和访问操作
for (String item : readOnlyList) {
System.out.println(item);
}
System.out.println(readOnlyList.get(0));
}
}
```
需要注意的是,虽然只读的集合不能进行修改操作,但是如果原始的 `List` 集合被修改了,只读的集合也会反映出这些修改。因此,如果需要确保只读集合不会被修改,需要保证原始的 `List` 集合不会被修改。
阅读全文