Example2
import java.util.*;
public class Example2 {
public static void main(String[] args) {
Map<String, List<Person>> map = new HashMap<>(); // List<Person>> -> 리스트에 사람을 넣어주는 것.
// 서울null -> [박씨, 김씨]
// 부산에 이씨
// 대전에 노씨
// 제주에 류씨
List<Person> getList = map
.getOrDefault("서울", new ArrayList<Person>());
getList.add(new Person("김씨", 20));
map.put("서울", getList);
System.out.println(map);
// // 업데이트 가능하게 한 것. 리스트에 없으면 빈 리스트를 만들어주고, 있는것에 추가?할 수 있도록
// List<Person> getList = map
// .getOrDefault("서울", new ArrayList<Person>());
// getList.add(new Person("김씨", 20));
// map.put("서울", getList);
// System.out.println(map);
// List<Person> list = new ArrayList<Person>(); // 이걸로 개별 사람을 만들어주는 것이다.
// 이렇게 하나씩 하기보다 (사람 종류가 추가될 수 있으니 ) 위에처럼 해야함.
// map.add(new Person("김씨", 20));
//
}
}
class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
}
이걸 참고해서 해서 입력값을 받는 사람을 만들어보자~
import java.util.*;
public class Example2 {
public static void main(String[] args) {
Map<String, List<Person>> map = new HashMap<>();
// List<Person>> -> 리스트에 사람을 넣어주는 것.
// 서울null -> [박씨, 김씨]
// 부산에 이씨
// 대전에 노씨
// 제주에 류씨
List<Person> getList = map
.getOrDefault("서울", new ArrayList<Person>());
getList.add(new Person("김씨", 20));
map.put("서울", getList);
System.out.println(map);
}
class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
}
toString만드는 방법
command + n을 누르면
가 나온다.
여기서 ok를 누르면
class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}
이렇게 오버라이드로 toString이 생성되서 주소값 대신 입력한 값을 받을 수 있게된다.
(class Person 안에서 생성해야함!)
import java.util.*;
public class Example2 {
public static void main(String[] args) {
Map<String, List<Person>> map = new HashMap<>(); // List<Person>> -> 리스트에 사람을 넣어주는 것.
//방법1.
Scanner sc = new Scanner(System.in);
List<Person> getList = map.getOrDefault("서울", new ArrayList<Person>());
getList.add(new Person("김씨", 20));
map.put("서울", getList);
System.out.println(map);
String key = sc.nextLine();
//방법2.업데이트 가능하게 한 것. 리스트에 없으면 빈 리스트를 만들어주고, 있는것에 추가?할 수 있도록
// List<Person> getList = map
// .getOrDefault("서울", new ArrayList<Person>());
// getList.add(new Person("김씨", 20));
// map.put("서울", getList);
// System.out.println(map);
// List<Person> list = new ArrayList<Person>(); // 이걸로 개별 사람을 만들어주는 것이다.
// 이렇게 하나씩 하기보다 (사람 종류가 추가될 수 있으니 ) 위에처럼 해야함.
// map.add(new Person("김씨", 20));
//
}
//
// @Override
// public String toString() {
// return "Person{" +
// "name='" + name + '\'' +
// ", age=" + age +
// '}';
// }
}
class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}