Java - HashMap - 키와 밸류가 한 쌍인 데이터 구조

320x100
반응형

HashMap

  • 키와 밸류가 한 쌍인 데이터 구조
  • 키는 인덱스를 의미하며, 밸류는 실제 값을 의미
  • 배열은 인덱스의 번호로 데이터를 접근하지만 해쉬맵은 키 값으로 데이터 접근

 

 

 

HashMap을 사용하기 위한 라이브러리 호출

import java.util.HashMap;

 

  • HashMap 정의
    • HashMap<자료형> 객체명 = new HashMap<자료형>();
HashMap<String, String> map = new HashMap<String, String>();

 

  • HashMap.put(key, value) : 키 값과 밸류 값 저장
map.put("Fruits", "Apple");
map.put("Color", "Red");

 

  • HashMap.get(key) : 호출하는 키의 밸류 값 호출
System.out.println(map.get("Color")); // Red

 

  • HashMap.keySet().toArray() : 키 값의 데이터를 배열 형태로 변환
    • 배열 형태로 저장하기 때문에 호출시 참조 값 출력. 즉, 따로 배열에 저장하여 호출
// 키만 호출
System.out.println(map.keySet().toArray());
// [Ljava.lang.Object;@36baf30c 객체의 참조 주소만 출력

Object[] keys = map.keySet().toArray(); // 배열에 저장
System.out.println(map.keySet().toArray());
for (int i=0; i<keys.length; i++) {
    System.out.print("keys[" + i + "] = " + keys[i] + " \t");
// keys[0] = Color 	keys[1] = Fruits

 

  • HashMap.values().toArray() : 밸류 값의 데이터를 배열 형태로 변환
    • 배열 형태로 저장하기 때문에 호출시 참조 값 출력. 즉, 따로 배열에 저장하여 호출
// 밸류만 호출
System.out.println(map.values().toArray());
// [Ljava.lang.Object;@7a81197d 객체의 참조 주소만 출력
Object[] values = map.values().toArray(); // 배열 생성
for (int i=0; i<values.length; i++) {
    System.out.print("values[" + i + "] = " + values[i] + " \t");
// values[0] = Red 	values[1] = Apple

 

  • Iterator을 이용하여 HashMap의 전체 데이터 호출
    • Iterator 라이브러리가 호출 된 상태여야만 가능
import java.util.Iterator;

Iterator<String> keyIter = map.keySet().iterator(); // 키 값을 "keyIter"인 Iterator에 저장

while( keyIter.hasNext() ) { // 다음 키 값이 존재하면
    String key = keyIter.next(); // 다음 키 값 key에 저장
    String value = map.get(key); // 저장한 key의 값을 이용하여 해당 키의 밸류를 value에 저장 
    System.out.println("key : " + key + ", value : " + value);
}
// key : Color, value : Red
// key : Fruits, value : Apple

 

  • HashMap.size() : 크기 확인, 키의 갯수 출력
System.out.println(map.size()); // 2

 

  • HashMap.remove(key) : 지정한 키의 데이터 삭제
map.remove("Color"); // "Color" 키 삭제
System.out.println(map.get("Color")); // "Color" 키 호출
// null

 

  • HashMap.clear() : 모든 데이터 삭제
System.out.println(map); // {Color=Red, Fruits=Apple}

map.clear();
System.out.println(map); // {}
320x100
반응형