Synchronized로 검색한 결과 :: 시소커뮤니티[SSISO Community]
 
SSISO 카페 SSISO Source SSISO 구직 SSISO 쇼핑몰 SSISO 맛집
추천검색어 : JUnit   Log4j   ajax   spring   struts   struts-config.xml   Synchronized   책정보   Ajax 마스터하기   우측부분

회원가입 I 비밀번호 찾기


SSISO Community검색
SSISO Community메뉴
[카페목록보기]
[블로그등록하기]  
[블로그리스트]  
SSISO Community카페
블로그 카테고리
정치 경제
문화 칼럼
비디오게임 스포츠
핫이슈 TV
포토 온라인게임
PC게임 에뮬게임
라이프 사람들
유머 만화애니
방송 1
1 1
1 1
1 1
1 1
1

Synchronized로 검색한 결과
등록일:2008-03-09 14:26:53
작성자:
제목:hashmap


기본적인  동작은  HashTable이나  HashMap은  같습니다.

즉    Key  object  -  Value  object  를  쌍으로  저장하여  seek타임을  줄이기  위해  hash값을  이용합니다.

  

Hashtable

Hashtable  은  키나  값에  Null을  허용하지  않습니다.

또한  Object에  정의된  hashCode()와  equals()메소드를  재의하는  객체들만  저장할  수  있습니다.

다행히도  자바  내장  클래스들은  대부분  hashCode()구현되어  있다는  것을  아실겁니다.

특히  String  타입이  hashCode(),  equals()메소드  두개  모두  구현되어  있지요.

  

Hashtable은  Map  클래스와  마찬가지로  반복자(interator)를  직접제공  하지  않습니다

다음  두가지  방식으로  HashTable  내용을  출력합니다.

  

Hashtable  hashtable  =  new  Hashtable();

hashtable.put("jakarta",  "project");

hashtable.put("apache",  "tomcat");

  

Enumertaion  keys  =  hashtable.keys();

while(keys.hasMoreElements())  {

      key  =  (String)keys.nextElement();

      System.out.println(hashtable.get(key));

}

  

혹은

Set  set  =  hashtable.keySet();

Iterator  keys  =  set.interator();

while(keys.hasNext())  {

      key  =  (String)keys.next();

      System.out.println(hashtable.get(key));

}

  

HashMap

HashMap은  키나  값에  Null을  허용  합니다.

HashMap  출력방법은  다음  한가지  이네요.  (Enumeration  지원  안함)

  

HashMap  hashmap  =  new  HashMap();

hashmap.put("jakarta",  "project");

hashmap.put("apache",  "tomcat");

  

Set  set  =  hashmap.entrySet();

Iterator  keys  =  set.iterator();

while  (keys.hasNext())  {

      key  =  (String)keys.next();

      System.out.println(hashmap.get(key));

}

  

또한  Hashtable은  thread  safe  한  객체이지만  HashMap은  그렇지  못해  unSynchronized  합니다.

이말은  즉  멀티  쓰레드  환경이  아니면  HashMap을  쓰면  속도가  빠르다는  말입니다.

굳이  동기화  하자면  다음과  같이  사용해야  겠지요

Map  m  =  Collections.SynchronizedMap(new  HashMap(...));

  

간단히  정리하자면

HashMap이  HashTable에  비해  좀더  실용적으로  변한  형태라고  보면  되겠네요  ^^

[출처]  hashmap|작성자  그남자
http://blog.naver.com/yypil79?Redirect=Log&logNo=10027702076