[Java] Map 자료구조와 HashMap 사용

Hee·2024년 4월 18일

Java 복습

목록 보기
40/46
post-thumbnail

Map 자료구조

: key와 value를 쌍으로 저장하는 자료구조이다. 키는 중복될 수 없고, 값은 중복될 수 있다.

  • 저장할 때 put()메소드를 이용해서 key와 value를 함께 저장한다.
  • 원하는 값을 꺼낼 때는 key를 매개변수로 받아들이는 get()메소드를 이용하여 값을 거낸다.
  • Map에 저장되어 있는 모든 Key들은 중복된 값을 가지면 안 된다.
  • Key의 이런 특징 때문에 Map은 자신이 가지고 있는 모든 Key들에 대한 정보를 읽어들일 수 있는 Set을 반환하는 keySet()메소드를 가지고 있다.

Map 자료구조 구현 예시

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

public class MapExam{
	public static void main(String[] args){
    	// Key, Value가 모두 String 타입인 HashMap 인스턴스를 만듦.
    	Map<String, String> map = new HashMap<>();
        
        // key와 value 값을 put으로 저장함.
        map.put("001", "kim");
        map.put("002", "lee");
        map.put("003", "kang");
        // 같은 key가 2개 있을 수 없음. 첫 번째로 저장했던 001, kim은 001, kang으로 바뀜.
        map.put("001", "kang");
        
        // map에 저장된 자료의 수를 출력함. 3이 출력됨
        System.out.println(map.size());
        
        // 키가 001, 002, 003인 값을 꺼내 출력함.
        System.out.println(map.get("001"));
        System.out.println(map.get("002"));
        System.out.println(map.get("003"));
        
        // map에 저장된 모든 key들을 Set 자료구조로 꺼냄.
        Set<String> keys = map.keySet();
        // Set 자료구조에 있는 모든 key를 꺼내기 위해 Iterator 사용.
        Iterator<String> iter = keys.iterator();
        while(iter.hasNext()){
        	// key를 꺼냄
            String key = iter.next();
            // key에 해당하는 value를 꺼냄
            String value = map.get(key);
            // key와 value를 출력함
            System.out.println(key + " : " + value);
        }
    }
}
// 출력
// 3
// kang
// lee
// kang
// 001 : kang
// 002 : lee
// 003 : kang

0개의 댓글