나라 이름과 인구를 입력하세요.(예: Korea 5000)
나라 이름, 인구 >> Korea 5000
나라 이름, 인구 >> USA 1000000
나라 이름, 인구 >> Swiss 2000
나라 이름, 인구 >> France 3000
나라 이름, 인구 >> 그만
인구 검색 >> France
France의 인구는 3000
인구 검색 >> 스위스
스위스 나라는 없습니다.
import java.util.HashMap;
import java.util.Scanner;
import java.util.Set;
public class Study52 {
public static void main(String[] args) {
HashMap<String, Integer> map = new HashMap<>();
Scanner sc = new Scanner(System.in);
String country;
int hito;
System.out.println("나라 이름과 인구를 입력하세요. (예: Korea 5000)");
while (true) {
country = sc.next();
if (country.equals("그만")) {
break;
}
try {
hito = sc.nextInt();
} catch (Exception e) {
System.out.println("숫자가 아닙니다. 다시 입력하세요.");
country = sc.next();
continue;
}
System.out.print("나라 이름, 인구 >> " + country + " " + hito + "\n");
map.put(country, hito);
}
while (true) {
System.out.print("인구 검색 >>");
country = sc.next();
if (country.equals("그만")) {
break;
} else {
if (map.containsKey(country)) {
System.out.println(country + "의 인구는 " + map.get(country));
} else {
System.out.println(country + " 나라는 데이터가 없습니다.");
}
}
}
System.out.println("프로그램 종료");
}
}
도시 이름, 위도, 경도 정보를 가진 Location 클래스를 작성하고, 도시 이름을 '키'로 하는 HashMap<String, Location> 컬렉션을 만들고, 사용자로부터 입력 받아 4개의 도시를 저장하라. 그리고 도시 이름으로 검색하는 프로그램을 작성하라.
도시, 경도, 위도를 입력하세요.
>> 서울, 37, 126
>> LA, 34, -118
>> 파리, 2, 48
>> 시드니, 151, -33
----------------------------------
서울 37 126
LA 34 -118
파리 2 48
시드니 151 -33
----------------------------------
도시 이름 >> 피리
피리는 없습니다.
도시 이름 >> 파리
파리 2 48
도시 이름 >> 그만
Map 인터페이스는 Collection 인터페이스와는 다른 저장 방식을 가짐
Map 인터페이스를 구현한 Map 컬렉션 클래스들은 키와 값을 하나의 쌍으로 저장하는 방식(key-value 방식)을 사용
여기서 키(key)란 실질적인 값(value)을 찾기 위한 이름의 역할을 함
public static void main(String[] args) {
TreeMap<Integer, String> map = new TreeMap<>();
map.put(45, "Brown");
map.put(37, "James");
map.put(23, "Martin");
System.out.println("23번: " + map.get(23));
System.out.println("37번: " + map.get(37));
System.out.println("45번: " + map.get(45));
}