Lớp Bộ sưu tập của java.util các phương thức gói chỉ hoạt động trên các tập hợp, các phương pháp này cung cấp các hoạt động bổ sung khác nhau liên quan đến các thuật toán đa hình.
Lớp này cung cấp các biến thể khác nhau của phương thức unmodifiable () như được hiển thị bên dưới -
Sr.No | Phương pháp &Mô tả |
---|---|
1 | static Phương thức này chấp nhận bất kỳ đối tượng bộ sưu tập nào và trả về một chế độ xem không thể thay đổi của bộ sưu tập được chỉ định. |
2 | static Phương thức này chấp nhận một đối tượng của giao diện Danh sách và trả về một chế độ xem không thể thay đổi của nó. |
3 | static Phương thức này chấp nhận một đối tượng của giao diện Bản đồ và trả về một chế độ xem không thể thay đổi về nó. |
4 | static Phương thức này chấp nhận một đối tượng của giao diện Đặt và trả về một chế độ xem không thể thay đổi về nó .. |
5 | static Phương thức này chấp nhận một đối tượng của giao diện SortedMap và trả về một chế độ xem không thể thay đổi của nó. |
6 | static Phương thức này chấp nhận một đối tượng của giao diện SortedSet và trả về một chế độ xem không thể thay đổi của tập hợp được sắp xếp đã chỉ định. |
Bạn có thể đặt một đối tượng bộ sưu tập ở chế độ chỉ đọc bằng cách sử dụng một trong các phương pháp liên quan đến bộ sưu tập.
Ví dụ
Chương trình Java sau tạo một đối tượng ArrayList, thêm các phần tử vào nó, chuyển đổi nó thành một đối tượng List chỉ đọc.
import java.util.Collection; import java.util.Collections; import java.util.Vector; public class CollectionReadOnly { public static void main(String[] args) { //Instantiating an ArrayList object Vector<String> vector = new Vector<String>(); vector.add("JavaFx"); vector.add("Java"); vector.add("WebGL"); vector.add("OpenCV"); System.out.println(vector); Collection<String> immutableVector = Collections.unmodifiableCollection(vector); System.out.println("Vector converted to read only "+immutableVector); immutableVector.add("CoffeeScript"); } }
Ngoại lệ
[JavaFx, Java, WebGL, OpenCV] Array list converted to read only [JavaFx, Java, WebGL, OpenCV] Exception in thread "main" java.lang.UnsupportedOperationException at java.util.Collections$UnmodifiableCollection.add(Unknown Source) at September19.CollectionReadOnly.main(CollectionReadOnly.java:20)
Khi bạn đã truy xuất chế độ xem chỉ đọc của đối tượng Danh sách, bạn không thể sửa đổi nội dung của nó, tức là bạn không thể thêm hoặc xóa các phần tử khỏi nó trực tiếp hoặc sử dụng đối tượng Iterator, nếu bạn làm như vậy thì UnsupportedOperationException sẽ được nâng lên.