글
[5주차 선택미션] Map 컬렉션 실습
안녕하세요🙂
5주차 선택미션은 Map 컬렉션에 대한 내용인데요.
교재 내용 중 '직접 해보는 손코딩'으로 실습을 진행해 볼게요☺️
(P.573-575)
코드와 함께, 개념을 정리해 볼까요!
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 컬렉션에서 객체를 하나씩 꺼내오는 두가지 방법
Map 컬렉션에서 객체를 하나씩 꺼내오는 방법에는 두가지가 있어요.
📍keySet() 메소드를 이용한 방법 (key만 필요할 때)
📍entrySet() 메소드를 이용한 방법 (key, value 모두 필요할 때)
Map 컬렉션은 Iterator 인터페이스를 사용할 수 없기 때문에!
keySet() 이나 entrySet() 으로 Set 객체를 반환받은 뒤 Iterator 인터페이스를 사용합니다.
📍keySet() 메소드
흐름 : keySet() 메소드 호출 ➜ 모든 키를 Set 컬렉션으로 얻음
➜ iterator(반복자)로 하나씩 꺼내기 ➜ get()메소드로 값(value) 얻기
📍entrySet() 메소드
흐름 : entrySet() 메소드 호출 ➜ Map.Entry를 Set 컬렉션으로 얻음
➜ iterator(반복자)로 Map.Entry를 하나씩 꺼내기 ➜ getKey(), getValue()메소드로 키(key)와 값(value) 얻기
'JAVA > [학습단] #혼공자' 카테고리의 다른 글
[6주차 선택미션] 입출력&보조 스트림을 이용한 마무리 문제 풀기 (0) | 2019.11.12 |
---|---|
[6주차 기본미션] 입출력 스트림 요약 정리 (0) | 2019.11.11 |
[5주차 기본미션] 컬렉션 프레임워크 키워드 정리 (0) | 2019.11.04 |
[4주차 기본미션] 데몬스레드 실습 (0) | 2019.10.30 |
[4주차 선택미션] 멀티스레드 생성 (0) | 2019.10.29 |