Menu
Coddy logo textTech

값 접근하기

Coddy Java 여정의 논리와 흐름 섹션에 포함된 레슨 — 59개 중 12번째.

HashMap에서 각 키는 값과 연결됩니다. 값에 접근하려면 get() 메서드를 사용하고 키를 제공합니다.

HashMap은 그 키와 연결된 값을 반환합니다. 만약 키가 HashMap에 존재하지 않으면, get() 메서드는 null을 반환합니다.

기본 구문은 다음과 같습니다:

ValueType value = mapName.get(key);
  • mapName: HashMap의 이름.
  • key: 연관된 값을 검색하려는 키.
  • ValueType: 값의 데이터 타입.

예를 들어, 먼저 HashMap을 정의해 보겠습니다:

HashMap<String, Integer> ages = new HashMap<>();
ages.put("Alice", 30);
ages.put("Bob", 25);

이제 이러한 값을 가져오는 방법:

Integer aliceAge = ages.get("Alice");
// Alice의 나이: 30

Integer charlieAge = ages.get("Charlie");
// Charlie의 나이: null

이 예제에서, 키 "Alice"를 사용하여 Alice의 나이를 검색합니다. HashMap에 "Charlie"가 키가 아니므로, charlieAgenull입니다.

challenge icon

챌린지

쉬움

getCapital이라는 이름을 가진 메서드를 생성하세요. 이 메서드는 두 개의 인수를 받습니다:

  1. 키는 국가 이름(문자열)이고 값은 수도 이름(문자열)인 capitals라는 이름의 HashMap.
  2. 국가 이름을 나타내는 문자열 country.

이 메서드는 capitals HashMap에 접근하여 주어진 국가의 수도를 반환해야 합니다. 국가가 HashMap에 없으면 "Not found"를 반환하세요.

직접 해보기

// --- 해시맵 문자열을 해시맵으로 변환하는 모듈 ---
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import java.lang.reflect.Type;
// -----------------------------
import java.util.HashMap;
import java.util.Scanner;

public class Main {
    public static String getCapital(HashMap<String, String> capitals, String country) {
        // 아래에 코드를 작성하세요
    }

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String hashMapString = scanner.nextLine();
        String country = scanner.nextLine();

        // HashMap의 String을 HashMap으로 변환
        Type mapType = new TypeToken<HashMap<String, String>>(){}.getType();
        HashMap<String, String> countryCapitals = new Gson().fromJson(hashMapString, mapType);

        String result = getCapital(countryCapitals, country);
        System.out.println(result);
    }
}
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

논리와 흐름의 모든 레슨