java.util의 컬렉션 클래스 컬렉션에서만 작동하는 패키지 메서드 이 메서드는 다형성 알고리즘과 관련된 다양한 추가 작업을 제공합니다.
이 클래스는 아래와 같이 unmodifiable() 메소드의 다양한 변형을 제공합니다 -
Sr.No | 방법 및 설명 |
---|---|
1 | 정적 이 메서드는 컬렉션 개체를 허용하고 지정된 컬렉션의 수정할 수 없는 보기를 반환합니다. |
2 | 정적 이 메소드는 List 인터페이스의 객체를 받아들이고 수정 불가능한 뷰를 반환합니다. |
3 | 정적 이 메소드는 Map 인터페이스의 객체를 받아들이고 수정 불가능한 뷰를 반환합니다. |
4 | 정적 이 메서드는 Set 인터페이스의 객체를 받아들이고 수정 불가능한 뷰를 반환합니다. |
5 | 정적 이 메소드는 SortedMap 인터페이스의 객체를 받아들이고 수정 불가능한 뷰를 반환합니다. |
6 | 정적 이 메서드는 SortedSet 인터페이스의 개체를 허용하고 지정된 정렬된 집합의 수정할 수 없는 보기를 반환합니다. |
컬렉션에 대한 메서드 중 하나를 사용하여 컬렉션 개체를 읽기 전용으로 만들 수 있습니다.
예
다음 Java 프로그램은 ArrayList 객체를 생성하고 여기에 요소를 추가하고 읽기 전용 List 객체로 변환합니다.
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"); } }
예외
[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)
목록 개체의 읽기 전용 보기를 검색한 후에는 그 내용을 수정할 수 없습니다. 즉, UnsupportedOperationException을 수행하는 경우 Iterator 개체를 사용하거나 직접 요소를 추가하거나 삭제할 수 없습니다. 올릴 것입니다.