>Java >java지도 시간 >Java TreeMap에서 동기화된 맵 가져오기

Java TreeMap에서 동기화된 맵 가져오기

WBOY
WBOY앞으로
2023-09-02 16:41:021267검색

从 Java TreeMap 获取同步地图

Java의 TreeMap에서 동기화된 맵을 얻으려면 Collection 인터페이스의 내장 메소드 "synchronizedMap()"을 사용할 수 있습니다. 여기서 TreeMap은 NavigableMap 인터페이스를 구현하는 데 사용되는 클래스입니다. 지도의 요소를 트리 구조로 저장합니다. 이는 정렬된 순서로 키-값 쌍을 저장하는 효율적인 대안을 제공합니다. 기본적으로 TreeMap은 동기화되지 않습니다. 이번 글에서는 샘플 프로그램을 통해 동기화의 필요성과 실제 구현에 대해 설명하겠습니다.

트리맵의 동기화된 지도

Treemap은 스레드로부터 안전하지 않습니다. 즉, 멀티 스레드 환경에서 구현할 때 여러 스레드가 조정 없이 동시에 액세스하고 수정할 수 있습니다. 이로 인해 데이터 불일치가 발생하고 요소가 예기치 않게 동작할 수 있습니다. 수술 결과에도 영향을 미칠 수 있습니다.

따라서 TreeMap 요소에 대한 액세스를 동기화하려면 동기화된 맵()을 사용해야 합니다. 이 메서드는 원본 TreeMap 주위에 래퍼를 만들고 스레드가 이에 액세스하거나 수정하려고 시도할 때 이를 잠급니다.

synchronizedMap()은 TreeMap 컬렉션의 인스턴스를 매개변수로 사용하고 여기에서 동기화된 맵을 반환하는 Collections 클래스의 정적 메서드입니다.

문법

으아악

여기서 "컬렉션"은 컬렉션 인터페이스의 클래스입니다.

TreeMap의 일반적인 구문은 다음과 같습니다. -

문법

으아악

방법

  • 먼저 "java.util" 패키지를 가져와 TreeMap 클래스를 활성화합니다.

  • 그런 다음 키가 문자열 유형이고 값이 다음과 같은 TreeMap을 만듭니다. 정수 유형.

  • 내장된 메소드 "put()"을 사용하여 일부 요소를 컬렉션에 저장하세요

  • 이제 이러한 요소를 동기화하고 Map 유형의 변수에 저장하세요.

  • 마지막으로 새 동기화된 지도를 인쇄하고 종료합니다.

예제 1

다음 예는 syncedMap()을 사용하여 지정된 TreeMap을 동기화하는 방법을 보여줍니다.

으아악

출력

으아악

방법

  • 먼저 "java.util" 패키지를 가져와 TreeMap 클래스를 활성화합니다.

  • 그런 다음 키가 문자열 유형이고 값이 정수 유형인 TreeMap을 만듭니다

  • 내장된 메소드 "put()"을 사용하여 일부 요소를 컬렉션에 저장하세요

  • 이제, syncinizedMap() 메서드를 사용하여 이러한 요소를 동기화하고 새 지도 컬렉션에 저장하세요.

  • 마지막으로 동기화 블록을 정의합니다. 이 블록 내에서 항목은 for-each 루프를 사용하는 "keySet()" 메서드를 사용하여 인쇄됩니다.

예제 2

다음 예에서는 syncinizedMap() 메서드와 동기화된 블록을 사용하여 주어진 TreeMap을 동기화합니다. 으아악

출력

으아악

결론

동기화는 조정을 설정하고 둘 이상의 활동 간의 올바른 통신을 보장하는 프로세스입니다. TreeMap의 비동기화로 인해 데이터 불일치가 발생할 수 있으므로 이를 동기화해야 합니다. 내장된 메소드 "Collections.synchronizedMap()"은 이 작업을 수행하는 더 편리한 방법입니다.

위 내용은 Java TreeMap에서 동기화된 맵 가져오기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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