-
ImmutableMap이란?자바웹프로그래밍/JAVA 2020. 11. 17. 15:23728x90반응형
*도움이 되셨다면 광고 한번 클릭 부탁드립니다! 제게 큰 힘이됩니다!
ImmutableMap은 com.google.common.collect.
에서 가져올수있다.
ImmutableMap은 변경 불가능한 Map 유형이다.
이는 Map의 데이터 선언후 고정되거나 일정하다는것을 의미하며, 읽기 전용이다.
예를들어 맵에 요소를 추가,삭제 및 업데이트를 하려고하면 UnsupportedOperationException이 발생한다.
ImmutableMap은 null요소도 허용하지 않는다.
null 요소로 immutableMap을 만들려고하면 NullPointerException이 throw됩니다. Map에 null요소를 추가하려고하면 UnsupportedOperationException이 발생한다.
ImmutableMap의 장점
1. 스레드의 안전하다.2. 메모리를 효율적으로 쓴다.3. 불변이기에 문제없이 타사 라이브러리에 전달할수있다.
ImmutableMap 만들기 ImmutableMap
은 다양한 방법으로 만들 수 있습니다. 여기에는 다음이 포함됩니다.1.Guava의 copyOf () 함수를 사용하여 기존 맵에서
// Below is the Java program to create ImmutableMap import com.google.common.collect.ImmutableMap; import java.util.HashMap; import java.util.Map; class MapUtil { // Function to create ImmutableMap from Map public static <K, T> void iMap(Map<K, T> map) { // Create ImmutableMap from Map using copyOf() ImmutableMap<K, T> immutableMap = ImmutableMap.copyOf(map); // Print the ImmutableMap System.out.println(immutableMap); } public static void main(String[] args) { Map<Integer, String> map = new HashMap<Integer, String>(); map.put(1, "Geeks"); map.put(2, "For"); map.put(3, "Geeks"); iMap(map); } }
결과 {1 = Geeks, 2 = For, 3 = Geeks}
ImmutableMap에서 Builder () 사용
Guava에서 ImmnutableMap 클래스는 Builder()함수를 제공합니다. 이 함수를 통해 새로운 ImmutableMap을 생성하거나
기존 Map 또는 둘 다에서 ImmutableMap을 생성 할 수 있습니다.2.새로운 ImmutableMap 만들기
// Java code illustrating of() method to // create a ImmutableSet import java.util.*; import com.google.common.collect.ImmutableMap; class GfG { public static void main(String args[]) { // non-empty immutable set ImmutableMap<Integer, String> imap = ImmutableMap.<Integer, String>builder() .put(1, "Geeks") .put(2, "For") .put(3, "Geeks") .build(); // Let's print the set System.out.println(imap); } }
결과 {1 = Geeks, 2 = For, 3 = Geeks}
728x90반응형'자바웹프로그래밍 > JAVA' 카테고리의 다른 글
Reader,Writer(문자 기반 스트림) with java (0) 2024.02.27 InputStream,OutputStream 입출력 방식 분석 with java (0) 2024.02.27 maven을 통한 jar 생성할때 dependency(의존성) library 포함 후 jar 생성방법 (0) 2023.01.09 java reflection 이용해서 private feild 불러오기 (0) 2022.08.05 JAVA HashMap 이 무엇인가? and 사용법 (0) 2020.11.11