Java

[Java] 해쉬맵(HashMap)

건휘맨 2024. 6. 4. 11:43

HashMap은 키와 값의 쌍으로 데이터를 저장하는 컬렉션

빠른 검색, 삽입, 삭제를 위해 내부적으로 키를 특정 위치에 매핑

키는 유일해야 하며, 값은 중복될 수 있다.

 

import java.util.HashMap;

public class HashMapMain {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		// hash map 은 파이썬의 딕셔너리와 비슷한 데이터 스트럭쳐
		// key, value 쌍을 저장한다.
		
		HashMap<String, String> phoneMap = new HashMap<>();		
		
		// 데이터 저장
		phoneMap.put("model", "iPhone 12");
		phoneMap.put("year", "2021");
		phoneMap.put("color", "red");
		
		// 데이터 억세스
		System.out.println(phoneMap.get("model"));
		
		// 잘못된 코드
		for (int i=0; i<phoneMap.size(); i++) {
			System.out.println(phoneMap.get(i));
		}
		
		// 돌아가는 코드 1
		Object[] values = phoneMap.values().toArray();
		
		for(int i=0; i<values.length; i++) {
			System.out.println((String)values[i]);
		}
		
		// 돌아가는 코드 2
		for (Object data : phoneMap.values().toArray()) {
			System.out.println((String)data);
		}
		
		// 데이터 값 변경
		phoneMap.replace("color", "blue");
		System.out.println(phoneMap.get("color"));
		
		// 데이터 삭제
		phoneMap.remove("year");
		System.out.println(phoneMap.get("year"));
		
		// 전체 데이터 삭제
		phoneMap.clear();
		
		// 데이터가 있는지 없는지 확인하는 코드
		if (phoneMap.isEmpty()) {
			System.out.println("데이터가 없습니다.");
		}else {
			System.out.println("데이터가 있습니다.");
		}
		
		
	}

}