값 접근하기
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"가 키가 아니므로, charlieAge는 null입니다.
챌린지
쉬움getCapital이라는 이름을 가진 메서드를 생성하세요. 이 메서드는 두 개의 인수를 받습니다:
- 키는 국가 이름(문자열)이고 값은 수도 이름(문자열)인
capitals라는 이름의HashMap. - 국가 이름을 나타내는 문자열
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);
}
}이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.