값 접근하기
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의 나이를 가져옵니다. "Charlie"는 HashMap의 키가 아니므로 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();
// String of HashMap을 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);
}
}이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
논리와 흐름의 모든 레슨
직접 연습해 보세요: 온라인 Java 컴파일러