HashMap

HashMap은 파이썬의 딕셔너리와 비슷한 데이터 스트럭쳐로써, 
key, value 쌍으로 저장한다.  사용하기 위해 페이지 상단에 자바 유틸의 해쉬맵을 import 시킨다.

import java.util.HashMap;

그리고 함수 안에 아래 해쉬맵 형식을 적어준다. 

HashMap<String, String> phoneMap = new HashMap<>();

 

CRUD 

Create

데이터 저장 

위에서 해쉬맵 타입은 String문자로 받기로 했기 때문에 문자로 엄격하게 다뤄줘야 한다.

자바에서는 데이터 타입 맞춰주는 것이 가장 중요한 것 중 하나다. 

phoneMap.put("model", "iPhone 12");
phoneMap.put("year", "2021"); 
phoneMap.put("color", "red");

 

Read

데이터 가져오기 

String value = phoneMap.get("color");
System.out.println(value); // red

 

Update

데이터 값 변경하기

phoneMap.replace("year", "2022");
System.out.println(phoneMap.get("year")); // 2022

 

Delete

데이터 삭제하기 

phoneMap.remove("year");

 

전체 데이터 프린트하기

오리지널 루프 

데이터를 array로 바꿔서 처리해 주는 것이 포인트다. 

* Object 라는 것은 자바의 최상위 클래스이다.  

Object[] values = phoneMap.values().toArray(); 
		
for (int i = 0; i < values.length; i++) {
	System.out.println(values[i]);
}

 

for each 방법

Object[] values = phoneMap.values().toArray();

for(Object data : values) {
	System.out.println(data);
}

 

데이터 모두 삭제 

phoneMap.clear();

 

데이터 유무 확인

if (phoneMap.isEmpty()) {
	System.out.println("데이터 없음");
} else {
	System.out.println("데이터 있음");
}

 


 

import java.util.HashMap;

public class HashMapMain {

	public static void main(String[] args) {
		// Map은 파이썬의 딕셔너리와 비슷한 데이터 스트럭처로써, 
		// key, value의 쌍으로 저장한다. 
		
		HashMap<String, String> phoneMap = new HashMap<>();

		// 데이터 저장 
		phoneMap.put("model", "iPhone 12");
		phoneMap.put("year", "2021"); // 문자로 받기로 했기 때문에 문자로 엄격하게 다뤄줘야 함. 자바는 데이터 타입 맞춰주는 것이 가장 중요하다. 
		phoneMap.put("color", "red");
		
		// 데이터 가져오기 
		String value = phoneMap.get("color");
		System.out.println(value); // red
		
		// 데이터 값 변경하기 
		phoneMap.replace("year", "2022");
		System.out.println(phoneMap.get("year")); // 2022
		
		// 데이터 삭제하기 
		phoneMap.remove("year");
		
		
		
		
		// 전체 데이터 프린트
		
		//// 이상한 방식! 안된다! 
		for (int i = 0; i < phoneMap.size(); i++) {
			System.out.println(phoneMap.get(i));
		}
		
		//// 오리지날 루프
		Object[] values = phoneMap.values().toArray(); // array로 바꿔서 처리해 준다. 
		
		for (int i = 0; i < values.length; i++) {
			System.out.println(values[i]);
		}
		/////// 자바의 최상위 클래스에는 Object가 있다. 
		
		//// for each 방법 
		for(Object data : values) {
			System.out.println(data);
		}
		
		// 데이터 모두 삭제 
		phoneMap.clear();
		
		// 데이터 유무 확인 
		if (phoneMap.isEmpty()) {
			System.out.println("데이터 없음");
		} else {
			System.out.println("데이터 있음");
		}
	}
}

 

+ Recent posts