본문 바로가기

Java

HashMap 개념 및 예제

반응형

컬렉션프레임워크의 HashMap에 대해 알아보자. 

 

주요 단어 : Key값, Value값, 해싱. 

 

해싱이란 환자정보관리 예시를 떠올려보자. 주민번호가 7로 시작하는 환자의 의료기록을 알고 싶다면 주민번호 앞자리가 7인 서류함을 열어봐야한다. 7은 저장위치를 알려주는 것이다. 이는 배열의 인덱스에 해당한다. 해싱은 많은 양의 데이터를 검색하는데 있어서 뛰어난 성능을 보인다. 

 

예제 코드

import java.util.*;

import java.util.Scanner;

public class HashMap1 {
	public static void main(String[] args) {
		HashMap map = new HashMap();
        map.put("myId", "1234");
        map.put("asdf", "1234");
        map.put("asdf", "1111");
		
		Scanner sc = new Scanner(System.in);
		
		while(true) {
			System.out.println("id와 password를 입력해주세요");
			System.out.println("id :");
			String id = sc.nextLine().trim();
			
			System.out.println("password :");
			String password = sc.nextLine().trim();
			System.out.println();
			
			if(!map.containsKey(id)) {
				System.out.println("입력하신 id는 존재하지 않습니다. 다시 입력해주세요.");
				continue;
			}
			
			if(!(map.get(id)).equals(password)) {
				System.out.println("비밀번호가 일치하지 않습니다. 다시 입력해주세요.");
			} else {
				System.out.println("id와 비밀번호가 일치합니다.");
				break;
			}
		}
	}
}

 

Id asdf는 비밀번호가 1111이다. put함수는 순서에 영향을 받는다. 

 

 

반응형