Collections.unmodifiableList() एक ArrayList का रीड-ओनली व्यू लौटाता है। संशोधन का कोई भी प्रयास UnsupportedOperationException फेंकता है।
उदाहरण
import java.util.*;
public class ReadOnlyArrayList {
public static void main(String[] args) {
ArrayList list = new ArrayList<>();
list.add("JavaFx");
list.add("Java");
list.add("WebGL");
list.add("OpenCV");
System.out.println("Original: " + list);
List readOnly = Collections.unmodifiableList(list);
System.out.println("Read-only: " + readOnly);
// संशोधन का प्रयास
readOnly.add("CoffeeScript"); // अपवाद
}
} आउटपुट
Original: [JavaFx, Java, WebGL, OpenCV]
Read-only: [JavaFx, Java, WebGL, OpenCV]
Exception in thread "main" java.lang.UnsupportedOperationException
at java.util.Collections$UnmodifiableCollection.add(Unknown Source)महत्वपूर्ण नोट्स
- यह एक व्यू है; मूल लिस्ट अभी भी संशोधित की जा सकती है।
- सही अपरिवर्तनीयता के लिए Java 10+:
List.copyOf(list)याList.of(...)। - तत्व स्वयं परिवर्तनीय हो सकते हैं; केवल लिस्ट संरचना सुरक्षित है।