위와 같이 HashMap을 이용하여 다양한 타입의 정보들을 저장할 때는 Object를 사용하면 된다.
import java.util.HashMap;
import java.util.Map;
class Main {
public static void main(String[] args) {
new Sol().run();
new Sol2().run();
}
}
class Sol {
public void run() {
Map<String, Object> p1 = new HashMap<>();
p1.put("이름", "홍길동");
p1.put("나이", 22);
p1.put("키", 170.5);
Map<String, Object> p2 = new HashMap<>();
p2.put("이름", "홍길순");
p2.put("나이", 25);
p2.put("키", 162.4);
System.out.println(p1);
System.out.println(p2);
}
}
class Sol2 {
public void run() {
Map<String, Object> p1 = new HashMap<>() {{
put("이름", "홍길동");
put("나이", 22);
put("키", 170.5);
}};
Map<String, Object> p2 = new HashMap<>() {{
put("이름", "홍길순");
put("나이", 25);
put("키", 162.4);
}};
String p1Name = (String) p1.get("이름");
int p1Age = (int) p1.get("나이");
double p1Height = (double) p1.get("키");
String p2Name = (String) p2.get("이름");
int p2Age = (int) p2.get("나이");
double p2Height = (double) p2.get("키");
System.out.printf("%s, %d, %.1f\n", p1Name, p1Age, p1Height);
System.out.printf("%s, %d, %.1f\n", p2Name, p2Age, p2Height);
}
}