>  기사  >  Java  >  Java 9에서 불변 컬렉션의 이점은 무엇입니까?

Java 9에서 불변 컬렉션의 이점은 무엇입니까?

PHPz
PHPz앞으로
2023-09-07 10:45:03879검색

Java 9中的不可变集合有哪些好处?

Java 9에서는 Collections API에 여러 팩토리 메소드가 추가되었습니다. 이러한 팩토리 메소드를 사용하면 불변 목록, 컬렉션 및 매핑된 컬렉션 객체를 생성할 수 있으므로 코드 줄 수를 줄일 수 있습니다. Java 9에서 List.of(), Set.of(), Map.of() Map.ofEntries()불변 Collection을 생성하는 데 편리한 정적 팩토리 메소드입니다.

불변 컬렉션의 이점

  • 적은 힙 공간: 이전 버전 Java의 기존 접근 방식에 비해 컬렉션 데이터를 저장하는 데 필요한 공간이 매우 적습니다.
  • 더 빠른 데이터 액세스: 데이터를 저장하고 Collections.unmodifying으로 래핑하는 오버헤드가 줄어들어 이제 데이터 액세스가 더 빨라졌습니다. 이는 프로그램의 전반적인 효율성이 높아진다는 것을 의미합니다.
  • 스레드로부터 안전함: 불변 컬렉션은 기본적으로 스레드로부터 안전합니다. 모든 스레드는 항상 기본 데이터에 대해 동일한 보기를 갖기 때문입니다.

Grammar

<strong>List.of(elements...)
Set.of(elements...)
Map.of(k1, v1, k2, v2)
</strong>

Example

의 중국어 번역은 다음과 같습니다.

Example

import java.util.Set;
import java.util.List;
import java.util.Map;
public class ImmutableCollectionsTest {
   public static void main(String args[]) {
      <strong>List<String></strong> stringList = <strong>List.of</strong>("a", "b", "c");
      System.out.println("List values: " + stringList);
      <strong>Set<String></strong> stringSet = <strong>Set.of</strong>("a", "b", "c");
      System.out.println("Set values: " + stringSet);
      <strong>Map<String, Integer></strong> stringMap = <strong>Map.of</strong>("a", 1, "b", 2, "c", 3);
      System.out.println("Map values: " + stringMap);
   }
}

Output

<strong>List values: [a, b, c]
Set values: [a, b, c]
Map values: {a=1, b=2, c=3}</strong>

위 내용은 Java 9에서 불변 컬렉션의 이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제