준형,유진,소윤이네 홈페이지
| Home | 자유게시판 | 최근소식 | 추억속으로 | 준형엄마 수다방 | 가족앨범 | 자료실 | 준형아빠 공부방 | 방명록

 가족
 친구 홈페이지 Link

날 씨


준형아빠 공부방

0
 17   2   1
  View Articles

Name  
   준형아빠 
Subject  
   단순한 Hashtable 정렬하기
단순한 Hashtable 정렬하기
제목그대로입니다. 해시의 키를 가지고 정렬하는 편법입니다. ^-^;
import java.util.Hashtable;
import java.util.Vector;
import java.util.Collections;
import java.util.Enumeration;


public class SortHashtable {

  public static void main(String[] args) {
    // Create and populate hashtable
    Hashtable ht = new Hashtable();
    ht.put("ABC", "abc");
    ht.put("XYZ", "xyz");
    ht.put("MNO", "mno");
    
    // Sort hashtable.
    Vector v = new Vector(ht.keySet());
    Collections.sort(v);
    
    // Display (sorted) hashtable.
    for (Enumeration e = v.elements(); e.hasMoreElements();) {
      String key = (String)e.nextElement();
      String val = (String)ht.get(key);
      System.out.println("Key: " + key + "     Val: " + val);
    }
  }
}


-----------------------
2번째 방법

java.util.TreeMap 을 써보세요...pistos2003-08-11 15:18:36x
Hashtable 처럼 synchronized (Thread-safe) 된 TreeMap을 원하신다면 Collections.synchronizedSortedMap(SortedMap m) 을 사용하시면 될듯..pistos2003-08-11 15:27:56x
제가 이해를 못하고 있는것인지????

지금 각 key값마다 객체들이 있거든요. 고녀석을 이용해야하기 때문에 Hashtable ht = list.getHashtab(); 부분은 바뀔수가 없거든요.네버다이2003-08-11 15:33:24x
TreeMap tm = new TreeMap( list.getHashtab() );powerbox2003-08-11 16:00:56x
제가 설명이 부족했네요..powerbox 님께서 제시하신 방법으로 사용하시면 됩니다.. ^^pistos2003-08-11 16:39:51x
두분 답변 감사드립니다. 덕분에 해결했습니다.

SortedMap m = Collections.synchronizedSortedMap(new TreeMap(ht));
Set s = m.keySet();

synchronized(m) { // Synchronizing on m, not s!
Iterator i = s.iterator(); // Must be in synchronized block
while (i.hasNext()){
out.println(i.next() + "<BR>");
}
}



Merziuz
 ::: bzJJSUnvEL  

piknwer
 ::: YRvlidLoEsIktDE  

pytxfhzjyh
 ::: xrQpEyMlMMwyYxZwkR  

Name
Memo
Password
 
     
Prev
   무한로우 생성 쿼리 입니다. [2]

준형아빠
Next
   JWSDP 설치

준형아빠


Copyright 1999-2021 Zeroboard / skin by Zetyx
   Copyright ⓒ 2003.5.1 Kim,sun-hak. All rights reserved. h9841150@empal.com