산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> java

Java 9 컬렉션 팩토리 메서드: 불변 List, Set, Map 생성 단순화

Java 9부터 List, Set, Map 인터페이스에 불변 인스턴스를 생성하는 새로운 팩토리 메서드가 추가되었습니다. 이 팩토리 메서드는 컬렉션을 덜 장황하고 간결하게 생성하는 편의 메서드입니다.

기존 컬렉션 생성 방식

import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;

public class Tester {
    public static void main(String[] args) {
        Set<String> set = new HashSet<>();
        set.add("A");
        set.add("B");
        set.add("C");
        set = Collections.unmodifiableSet(set);
        System.out.println(set);
        
        List<String> list = new ArrayList<>();
        list.add("A");
        list.add("B");
        list.add("C");
        list = Collections.unmodifiableList(list);
        System.out.println(list);
        
        Map<String, String> map = new HashMap<>();
        map.put("A","Apple");
        map.put("B","Boy");
        map.put("C","Cat");
        map = Collections.unmodifiableMap(map);
        System.out.println(map);
    }
}

출력

[A, B, C]
[A, B, C]
{A=Apple, B=Boy, C=Cat}

새로운 메서드

Java 9부터 List, Set, Map 인터페이스에 다음 메서드들과 오버로드된 버전들이 추가되었습니다.

static <E> List<E> of(E e1, E e2, E e3);
static <E> Set<E> of(E e1, E e2, E e3);
static <K,V> Map<K,V> of(K k1, V v1, K k2, V v2, K k3, V v3);
static <K,V> Map<K,V> ofEntries(Map.Entry<? extends K,? extends V>... entries)

주의사항

새로운 컬렉션 생성 방식

import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.AbstractMap;
import java.util.Map;
import java.util.Set;

public class Tester {
    public static void main(String[] args) {
        Set<String> set = Set.of("A", "B", "C");
        System.out.println(set);
        
        List<String> list = List.of("A", "B", "C");
        System.out.println(list);
        
        Map<String, String> map = Map.of("A","Apple","B","Boy","C","Cat");
        System.out.println(map);
        
        Map<String, String> map1 = Map.ofEntries(
            new AbstractMap.SimpleEntry<>("A","Apple"),
            new AbstractMap.SimpleEntry<>("B","Boy"),
            new AbstractMap.SimpleEntry<>("C","Cat"));
        System.out.println(map1);
    }
}

출력

[A, B, C]
[A, B, C]
{A=Apple, B=Boy, C=Cat}
{A=Apple, B=Boy, C=Cat}

java

  1. Java 연산자 마스터하기: 종류, 문법, 실전 예제
  2. Java 추상 클래스와 메서드 완벽 가이드
  3. Java 인터페이스 마스터: 개념, 구현, 모범 사례
  4. Java Try-with-Resources 마스터: 자동 리소스 관리 완전 해설
  5. Java 애너테이션 완전 해설: 종류, 배치 위치, 실전 예제
  6. Java 오토박싱과 언박싱 마스터하기: 실전 예제와 모범 사례
  7. Java String toLowerCase() & toUpperCase(): 로케일 인식 텍스트 대소문자 변환
  8. 자바 컬렉션 마스터하기: 효율적 자료구조 종합 가이드
  9. Java 10: 70개 이상의 새로운 API 및 기능 설명
  10. Java 10: 유연하고 효율적인 메모리 관리를 위한 가비지 컬렉터 인터페이스 도입