Notice
Recent Posts
Recent Comments
Link
판봉 개발 일기
Hashtable에 대하여 본문
728x90
Hastable은 HashMap과 동일한 내부 구조를 가지고 있다.
그래서 키로 사용할 객체는 hashCode()와 equals() 메소드를 재정의해서 동등 객체가 될 조건을 정해야 한다.
한가지 차이점이 있다면
Hashtable은 동기화된 메소드로 구성되어 있기때문에 스레드에 안전하다.
Hashtable의 생성 방법은 다음과 같다.
Map<K, V> map = new Hashtable<K, V>();
다음 코드는 Hashtable은 활용한 예제이다.
import java.util.*;
public class HashTableExample {
public static void main(String[] args) {
Map<String, String> map = new Hashtable<String, String>(); // Hashtable 생성
map.put("spring", "13");
map.put("summer", "123");
map.put("fall", "1234");
map.put("winter", "12345"); //아이디와 비밀번호 저장
Scanner scanner = new Scanner(System.in); // Scanner 생성
while(true) {
System.out.println("아이디와 비번을 입력하시오");
System.out.print("아이디 : ");
String id = scanner.nextLine(); // 키보드로 입력한 값을 id로 받음
System.out.print("비밀번호: ");
String password = scanner.nextLine();
System.out.println();
if(map.containsKey(id)) { // 값의 존재여부를 확인
if(map.get(id).equals(password)) {
System.out.println("로그인 됨");
break;
} else {
System.out.println("비밀번호가 틀렸습니다.");
}
}else {
System.out.println("입력한 아이디가 존재하지 않습니다.");
}
}
}
}
※실무에서 Scanner는 거의 쓰지 않는다고 한다.
'자바 복습' 카테고리의 다른 글
FIFO 컬렉션과 Queue 인터페이스 (2) | 2021.07.14 |
---|---|
LIFO 컬렉션과 Stack 클래스 (0) | 2021.07.14 |
Map 컬렉션중 하나인 HashMap에 대하여 알아보자 (0) | 2021.07.13 |
Map 컬렉션 (0) | 2021.07.13 |
Set 컬렉션중 하나인 HashSet에 대하여 알아보자 (0) | 2021.07.13 |