Java- HashMap 실습해보기 toString()도 사용하기

parkkhee·2023년 2월 28일
0

3_LIKELION

목록 보기
11/14
import java.util.HashMap;
import java.util.Map;

class Main {
    public static void main(String[] args) {
        // new Sol1().run();
        // new Sol2().run();
        new Sol3().run();
    }
}

class Sol1 {
    public void run() {
        Person p1 = new Person("홍길동", 22, 170.5);
        Person p2 = new Person("홍길순", 25, 162.4);

        System.out.println(p1);
        System.out.println(p2);
    }
}

class Person {
    private String name;
    private int age;
    private double height;

    public Person(String name, int age, double height) {
        this.name = name;
        this.age = age;
        this.height = height;
    }

    @Override
    public String toString() {
        return "Person{" +
                "name='" + name + '\'' +
                ", age=" + age +
                ", height=" + height +
                '}';
    }
}

class Sol2 {
    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 Sol3 {
    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);
    }
}

profile
순우리말 백엔드 개발자

0개의 댓글