Question

How could I restrict the accessing (retrieving/inserting/updating/deleting) of an Arraylist and disallow changes to its values?

I had faced this question in an interview.

Was it helpful?

Solution

A classic solution is to wrap it using Collections.unmodifiableList().

For example:

List<Integer> sourceList;
// ...
List<Integer> readOnlyList = Collections.unmodifiableList(sourceList);

This will prevent everything except reading. If you want to prevent reading, make it private.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top