안녕하세요🙂

 

5주차 선택미션은 Map 컬렉션에 대한 내용인데요.

 

교재 내용 중 '직접 해보는 손코딩'으로 실습을 진행해 볼게요☺️

(P.573-575)

 

코드와 함께, 개념을 정리해 볼까요!

Map 컬렉션

HashMapExample.java ⬇︎ ===============================================================================

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

public class HashMapExample {
	public static void main(String args[]) {
		
		// Map 컬렉션 생성
		Map<String, Integer> map = new HashMap<String, Integer>();
		
		// 객체 추가
		map.put("포도", 90);
		map.put("딸기", 85);
		map.put("사과", 90);
		map.put("포도", 100); // 키가 같으면 제일 마지막에 저장한 값으로 대체됨 
		System.out.println("TOTAL ENTRY : " + map.size());
		
		// 객체 검색
		System.out.println("포도" + map.get("포도"));
		System.out.println();
		
		// 객체를 하나씩 꺼내오기 
		Set<String> keySet = map.keySet(); // keySet 얻기 
		Iterator<String> keyIterator = keySet.iterator();
		while(keyIterator.hasNext()) {
			String key = keyIterator.next();
			Integer value = map.get(key);
			System.out.println("\t" + key + ": " + value);
		}
		System.out.println();
		
		// 객체 삭제 
		map.remove("포도");
		System.out.println("TOTAL ENTRY : " + map.size());
		
		// 객체를 하나씩 꺼내오기
		Set<Map.Entry<String, Integer>> entrySet = map.entrySet(); // Map.EntrySet 얻기 
		Iterator<Map.Entry<String, Integer>> entryIterator = entrySet.iterator();
		while(entryIterator.hasNext()) {
			Map.Entry<String, Integer> entry = entryIterator.next();
			String key = entry.getKey();
			Integer value = entry.getValue();
			System.out.println("\t" + key + ": " + value);
		}
		System.out.println();
		
		// 객체 전체 삭제
		map.clear(); // 모든 Map.entry 삭제
		System.out.println("TOTAL ENTRY : " + map.size());
		
	}
}

====================================================================================================

 

 

소스를 라인별로 따라가며 코드에 사용된 

Map 인터페이스 메소드 개념을 정리할게요🙂

 

LINE 11-23, 35-37 은 Map 인터페이스 메소드를 이용한 객체추가, 객체검색 , 객체삭제, 객체 전체삭제 에 관한 내용이에요😊

Map인터페이스 메소드

 

LINE 11 - 23 ( 객체추가, 객체검색)
LINE 35 - 37 (객체 삭제)

 

LINE 50 - 52 (객체 전체삭제)

 

 

 

Map 컬렉션에서 객체를 하나씩 꺼내오는 두가지 방법

 

Map 컬렉션에서 객체를 하나씩 꺼내오는 방법에는 두가지가 있어요.

📍keySet() 메소드를 이용한 방법 (key만 필요할 때)

📍entrySet() 메소드를 이용한 방법 (key, value 모두 필요할 때)

 

Map 컬렉션은 Iterator 인터페이스를 사용할 수 없기 때문에!

keySet() 이나 entrySet() 으로 Set 객체를 반환받은 뒤 Iterator 인터페이스를 사용합니다.

 

📍keySet() 메소드 

흐름 : keySet() 메소드 호출 ➜ 모든 키를 Set 컬렉션으로 얻음   

          ➜ iterator(반복자)로 하나씩 꺼내기 ➜ get()메소드로 값(value) 얻기

keySet() 메소드 이용
LINE 25 - 33 ( keySet() 메소드를 이용 )

📍entrySet() 메소드

흐름 : entrySet() 메소드 호출 ➜ Map.Entry를 Set 컬렉션으로 얻음

          ➜  iterator(반복자)로  Map.Entry를 하나씩 꺼내기  ➜ getKey(), getValue()메소드로 키(key)와 값(value) 얻기

entrySet() 메소드 이용

 

LINE 39 - 48 ( entrySet() 메소드를 이용 )

 

설정

트랙백

댓글