일단 시작해보는 블로그

[Java] HashMap 본문

개발/Java

[Java] HashMap

Selina Park 2019. 8. 21. 19:15

Map

자바에서 Map이라는 인터페이스는 'match'의 의미와 비슷하다고 생각하면 된다.

 

Map에 저장되는 데이터는 'key-value' pair라는 형식을 갖고 있다.

또, 특정 데이터를 찾을 때는 key를 이용해서 검색한다. 마치 주민등록번호를 입력하면 그에 매칭되는 사람의 이름을 일 수 있는 것처럼.

 

Map은 인터페이스로 구현되어있고 가장 많이 쓰이는 클래스는 HashMap, TreeMap, LinkedHashMap이다.

 

데이터와 중복된 키와 값을 저장하면, 기존의 값은 없어지고 마지막에 저장된 값이 남게 된다.

 

 

해싱 (Hashing)

해싱(Hashing)이란 해시함수(hash function)를 이용해서 데이터를 해시테이블(hash table)에 저장하고 검색하는 기법을 말한다.

 

HashMap : 저장은 느리지만 많은 양의 데이터를 검색하는데 뛰어난 성능을 보인다.

TreeMap : HashMap에 비해 저장이 빠르지만 데이터를 가져올 때 약간 느리다.

 

해시맵 (HashMap)

키(key)는 중복 허용이 되지 않고, 값(value)는 중복이 허용된다.

 

package data_structure;

import java.util.HashMap;

public class HashMap_interface {
    public static void main(String[] args) {
        //key, value 이렇게 한쌍이다.
        HashMap<String, Integer> people = new HashMap<String, Integer>();


        people.put("John", 32);
        people.put("Steve", 30);
        people.put("Angie", 33);
        
        //keySet()을 이용하여 반복문
        for(String i : people.keySet()){
            System.out.println("key : " + i + ", value : " + people.get(i));
        }

    }
}

 

 

Comments