의 Map.Entry 및 사용 ConcurrentHashMap의

I. 서론;

  주요의 Map.Entry 간단한 소개와 ConcurrentHashMap의 사용은하지 심도 구현은 소스를 전문;

  의 Map.Entry

  상기 entrySet 맵 오브젝트가있어서 각 개체의 집합을 얻기의 Map.Entry 객체 인터페이스는 키 맵의 모음 반환지도 자바 인터페이스와 내부 인터페이스의 Map.Entry 맵이고 / 값 쌍과 키는 상기 방법의 Map.Entry 설정 값 맵에 의해 수득 될 수있다; 

* 개체하는 getKey은 () : 키워드의 항목을 반환 
* 객체 getValue () : 항목의 값을 돌려줍니다
* 개체의 setValue (개체 값) : 값 관련 이미지가 값을 변경하고 이전 값을 반환;

 

     HashMap에, 해시, ConcurrentHashMap의

  다음은 세 세트의 저장 키를 키 - 값 쌍과, 상기 키는 개체 값이며, 복제 키를 포함 할 수 있지만, 중복되는 값을 포함 할 수있는 것을 특징으로한다.

* 의 HashMap : 비 스레드 안전; HashMap의 해시 테이블 제거 방법을 포함하고으로써 containsValue containsKey 대체, 해시 테이블 안으로; 키 값은 널 값이 나타날 수
* 해시 테이블 ,으로써 containsValue 세 containsKey를 해시 테이블에 포함 된 유지; 스레드 안전 : 상기와 같은 특징을 포함으로써 containsValue있어서, 키와 값은 널 값이다 허용되지
*가 ConcurrentHashMap의 안전하고 효율적인 스레드 멀티 스레드 권장, 키와 값을 널 값은 허용되지이다 :

 

둘째, 시험 샘플;

1  공용  클래스 MapEntryTest {
 2  
3      공공  정적  무효 메인 (문자열 []에 args) {
 4          // TODO 자동 생성 방법 스터브 
5          지도 <문자열, 문자열>지도 =  의 HashMap <문자열, 문자열> ();
6          map.put ( "앤디", "90" );
7          map.put ( "토니", "80" );
8          map.put ( "제이슨", "96" );
9           (의 Map.Entry <문자열, 문자열> {map.entrySet () 엔트리)
 10              에서 System.out.println ( "키 = 「+ 항목.entry.getValue ())
 . (11)              IF (entry.getKey () 등호 ( "토니." )) {
 12은                  Entry.setValue ( "100"); // 값을 변경 값의 이전 값 리턴; 
13              }
 14          }
 15          에서 System.out.println (map.get 등 ( "토니" ));
 16      }
 . 17  
(18)이다 }
1  공용  클래스 ConcurrentHashMapTest {
 2  
3      공공  정적  무효 메인 (문자열 []에 args) {
 4          // TODO 자동 생성 방법 스터브 
5          지도 <문자열, 문자열>지도 =  의 HashMap <문자열, 문자열> ();
6          map.put ( "앤디", "90" );
7          map.put (  , );
8          에서 System.out.println (map.size ());
9          
10          지도 <문자열, 문자열> = MAP2 새로운 ConcurrentHashMap의 <문자열, 문자열> ();
(11)         map2.put ( "토니", "80" );
(12)          에서 System.out.println (map2.get ( "토니" ));
13          
14          지도 <문자열, 문자열> = map3 체크 새로운 해시 테이블 <문자열, 문자열> ();
15          map3.put ( "잭", "20" );
(16)          에서 System.out.println (map3.get ( "잭" ));
17      }
 18  
19 }

 

추천

출처www.cnblogs.com/crazytrip/p/11697628.html