HashMap<String, Object> map = new HashMap<>( ); //제네릭 두개를 지정
map.put("a", 10);
map.put("b", "홍길동");
map.put("c", new Scanner(System.in));
//Object 타입은 모든 타입을 저장할 수 있다.
key는 임의로 지정하기 때문에 순서라는 개념이 없다.
map.put("b", "이순신");
//덮어쓰기 -> 하나의 key는 하나의 값만 저장할 수 있다.
map.remove("c");
Object value = map.get("b");
//타입에 맞는 변수를 만들어서 출력
int value1 = (Integer)map.get("a");
String value2 = (String)map.get("b");
Set<String> keys = map.keySet(); //저장된 모든 키
for(String key : keys){ //타입에 맞는 변수 선언
//향상된 for문 : keys라는 set을 String key라는 변수에 넣는다.
System.out.println(key + " : " + map.get(key));
}
//회원테이블
//아이디, 비밀번호, 이름, 전화번호
HashMap<String, String> user = new HashMap<>(); //테이블의 한 행
user.put("id", "admin");
user.put("password", "admin123");
user.put("name", "관리자");
user.put("tel", "010-1234-5678");
ArrayList<HashMap<String, String>> table = new ArrayList<>();
//여러개의 행을 하나의 묶음으로 저장하는 table
table.add(user);
user = new HashMap<>();
ser.put("id", "admin2");
user.put("password", "admin1234");
user.put("name", "관리자2");
user.put("tel", "010-1234-5679");
table.add(user);
//출력하기
for(int i = 0; i < table.size(); i++){
HashMap<String, String> hashmap = table.get(i);
//접근을 줄이기 위해 for문 안에서 hashmap 선언
Set<String> keySet = hashmap.keySet();
for(String key : keySet){
System.out.println(key + " : " + hashmap.get(key));
}
System.out.println("--------------------------------");
}