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 개체를 사용하거나 직접 요소를 추가하거나 삭제할 수 없습니다. 올릴 것입니다.