<aside> 💡 데이터를 찾을 때 키 이름으로 찾는다.

</aside>

아이디와 비밀번호를 기준으로 아이디는 key 비밀번호는 value이다

key값은 중복될 수 없다. 또한 각 키는 오직 하나의 값에만 매핑될 수 있다.

키가 제시되면 값을 반환한다.

동일한 키로 최대 하나의 값만 저장할 수 있다.

Map에 학생데이터 저장하기

package ex13;

import java.util.HashMap;
import java.util.Map;

public class MapTest {
    public static void main(String[] args) {
        Map<String, String> m = new HashMap<>();

        m.put("kim", "1234");
        m.put("park", "pass");
        m.put("lee", "word");

        System.out.println(m.get("lee")); // 키를 가지고 값을 참조한다.

        for (String key : m.keySet()) { // 모든 항목을 방문한다
            String value = m.get(key);
            System.out.println("key= " + key + ", value= " + value);
        }

				// 위 반복문을 람다식으로 교체
				//m.forEach((key, value) -> {
        //    System.out.println("key= "+key+", value= "+value);
        //});

        m.remove("lee"); // 하나의 항목을 삭제한다.
        m.put("choi", "password"); // 하나의 항목을 대체한다.
        System.out.println(m);
    }
}

Untitled

영어 사전

package ex13;

import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;

public class EnglishDic {
    public static void main(String[] args) {
        Map<String, String> st = new HashMap<String, String>();

        st.put("map", "지도");
        st.put("java", "자바");
        st.put("school", "학교");

        Scanner sc = new Scanner(System.in);
        do {
            System.out.print("영어 단어를 입력하시오: ");
            String key = sc.next();
            if (key.equals("quit")) {
                break;
            }
            System.out.println("단어의 의미는 " + st.get(key));
        } while (true);
    }
}

Untitled