Java 如何让ArrayList只读
给定一个数组列表,任务是在Java中使这个数组列表成为只读。
例子
输入: ArrayList: [1, 2, 3, 4, 5]
输出: Read-only ArrayList: [1, 2, 3, 4, 5]
输入: ArrayList: [geeks, for, geeks]
输出: Read-only ArrayList: [geeks, for, geeks]
建议:请先在{IDE} 上尝试你的方法,然后再继续解决
在Collections.unmodifiableList()方法的帮助下,一个ArrayList可以很容易地变成只读。该方法将可修改的ArrayList作为参数,并返回该ArrayList的只读不可修改的视图。
语法。
readOnlyArrayList = Collections.unmodifiableList(ArrayList);
下面是上述方法的实现。
// Java program to demonstrate
// unmodifiableList() method
import java.util.*;
public class GFG1 {
public static void main(String[] argv)
throws Exception
{
try {
// creating object of ArrayList<Character>
List<Character> list = new ArrayList<Character>();
// populate the list
list.add('X');
list.add('Y');
list.add('Z');
// printing the list
System.out.println("Initial list: "
+ list);
// getting readonly list
// using unmodifiableList() method
List<Character>
immutablelist = Collections
.unmodifiableList(list);
// printing the list
System.out.println("ReadOnly ArrayList: "
+ immutablelist);
// Adding element to new Collection
System.out.println("\nTrying to modify"
+ " the ReadOnly ArrayList.");
immutablelist.add('A');
}
catch (UnsupportedOperationException e) {
System.out.println("Exception thrown : " + e);
}
}
}
输出:
Initial list: [X, Y, Z]
ReadOnly ArrayList: [X, Y, Z]
Trying to modify the ReadOnly ArrayList.
Exception thrown : java.lang.UnsupportedOperationException
极客教程