Map

Jan 04, 2024
Map
Map : 키-값을 하나의 쌍으로 묶어서 저장하는 자료구조
단어(key) + 설명(value) // 사전과 같은 자료구조
다른 언어에서 : 딕셔너리(dictionary)
중복된 키를 가질 수 없음
키가 제시되면 값을 반환
키는 오직 하나의 값에만 매핑될 수 있음
** 매핑 : 어떤 key와 value 간의 관계를 설정하는 것
 
put() : 데이터 저장
get() : 값을 추출
 
💡
List와는 상당히 다름
Map이라는 인터페이스를 제공함
 

Map이 제공하는 클래스의 종류

  • HashMap : Hash 테이블에 데이터를 저장
  • TreeMap : 탐색 트리에 데이터를 저장
  • LinkedHashMap
 

HashMaps 초기화

Map<자료형, 자료형> 이름 = Map.of(key 값, value 값 쌍으로 초기화할 내용)
 
package ex13; import java.util.HashMap; import java.util.Map; import java.util.Set; public class MapTest { public static void main(String[] args) { Map<String, String> map = new HashMap<String, String>(); map.put("kim", "1234"); map.put("park", "pass"); map.put("lee", "word"); System.out.println(map.get("lee")); for (String key : map.keySet()) { String value = map.get(key); System.out.println("key=" + key + ", value=" + value); } map.remove(3); map.put("choi", "password"); System.out.println(map); } }
notion image
 

Map의 모든 요소 방문하기


1) for each문과 keySet() 사용
for(String key : map.keySet()) { System.out.println("key=" + key + ", value=" + m.get(key)); }
for(var key : map.keySet()) { // 변수 타입 추론 가능 System.out.println("key=" + key + ", value=" + m.get(key)); }
 
2) 반복자 사용
Iterator<String> it = map.keySet().iterator(); while (it.hasNext()) { String key = it.next(); System.out.println("key=" + key + ", value=" + m.get(key)); }
 
3) Stream 라이브러리 사용
map.foreach ( (key, value) -> { System.out.println("key=" + key + ", value=" + value); });

 
Share article

vosw1