IT_Programming/Java

Hastable 클래스

JJun ™ 2007. 1. 29. 15:31

키와 값의 쌍으로 이루어진 요소를 저장하는 자료구조

 

생성자

 

Hashtable()

Hashtable(int size)

Hashtable(int size, float fullRatio)

 

size :  생성될때의 객체 크기

full Ratio : 0.0-1.0사이의 값으로 load factor로 사용, 즉 해쉬테이블의 크기보다 저장될 요소가 많을

경우 fullRatio로 지정된 값이 키값에 곱해져서 사용되게 된다.

 

예제)

import java.util.*;

class Test1{
 public static void main(String args[]){
 
  Hashtable hashtable = new Hashtable();
  hashtable.put("1", "하나");
  hashtable.put("2", "둘");
  hashtable.put("3", "셋");
  hashtable.put("4", "넷");
  hashtable.put("5", "다섯");
  
  Enumeration e = hashtable.keys();
  System.out.println("해쉬테이블의 내용");
  while(e.hasMoreElements()){
   Object k = e.nextElement();
   Object v = hashtable.get(k);
   System.out.println("키"+k+"값"+v);
   
  }
  System.out.println("다섯은 영어로 무엇일까요? :");
  Object v = hashtable.get("5");
  System.out.println(v);
  
  
 }
}

 

실행결과

해쉬테이블의 내용
키5값다섯
키4값넷
키3값셋
키2값둘
키1값하나
다섯은 영어로 무엇일까요? :
다섯

 

 

======================================================================================== 

 

 

가위바위보 예제)

 

import java.util.*;

class Test1{
 public static void main(String args[]){
 
  Random random = new Random();
  int user = random.nextInt()%3;
  int com = random.nextInt()%3;
  
  if(user<0)
   user = user * -1;
  if(com<0)
   com = com * -1;
  
  Hashtable hashtable = new Hashtable();
  hashtable.put("0", "가위");
  hashtable.put("1", "바위");
  hashtable.put("2", "보");
  
  Object value1 = hashtable.get(String.valueOf(user));
  System.out.println("당신은 "+value1+"냈습니다.");
  Object value2 = hashtable.get(String.valueOf(com));
  System.out.println("컴퓨터는 " + value2+"냈습니다");
  System.out.println("=========================");
  
  System.out.println("게임결과");
  if(user == com)
   System.out.println("둘이서 비겼습니다.");
  else if(user ==(com+1)%3)
   System.out.println("당신이 이겼습니다.");
  else
   System.out.println("컴퓨터가 이겼습니다");
 }
}

 

실행화면

당신은 가위냈습니다.
컴퓨터는 보냈습니다
=========================
게임결과
당신이 이겼습니다.

'IT_Programming > Java' 카테고리의 다른 글

파일 클래스  (0) 2007.01.29
StringTokenizer 클래스  (0) 2007.01.29
스택 클래스  (0) 2007.01.29
예외처리  (0) 2006.02.27
equals() 메소드와 "==" 비교연산자의 차이  (0) 2006.02.22