1. Map
- key값, value값을 한 쌍으로 관리하는 객체
- key값 중복을 허용하지 않고 순서(index)가 없다. (Set의 특징을 갖는다.)
- value 값은 중복으로 허용한다.
A. 객체 생성
System.out.println("<객체 생성하기>");
HashMap<String, String> map = new HashMap<>();
System.out.println("처음 크기 : " + map.size());
B. 데이터 추가하기
System.out.println("<데이터 추가하기>");
// 자료 추가 ==> put(key값, value값)
map.put("name", "홍길동");
map.put("addr", "대전");
map.put("tel", "010-1234-5678");
System.out.println("map ==> " + map);
C. 데이터 수정하기
- 데이터를 추가할 때 key값이 같으면 나중에 입력한 값으로 덮어쓴다.
System.out.println("<데이터 수정하기>");
map.put("addr", "서울");
System.out.println("map ==> " + map);
D. 데이터 삭제하기
remove(key값)
: key값이 같은 자료를 찾아 삭제한다.
- 반환값 : 삭제된 자료의 value값이 반환된다.
System.out.println("<데이터 삭제하기>");
String sTemp = map.remove("tel");
System.out.println("map ==> " + map);
System.out.println("sTemp : " + sTemp);
E. 데이터 읽기
get(key값)
: key값이 같은 자료를 찾아 반환된다. 주어진 'key값'이 없으면 null이 반환된다.
System.out.println("<데이터 읽기>");
System.out.println("이름 : " + map.get("name"));
F. key값의 존재 여부 확인하기
System.out.println("<key값의 존재 여부 확인하기>");
System.out.println("tel 키 값의 존재 여부 : " + map.containsKey("tel"));
System.out.println("age 키 값의 존재 여부 : " + map.containsKey("age"));
G. Map에 저장된 모든 데이터 읽어와 사용하기
방법 1) 모든 key값을 가져와 처리하기
Set<String> keySet = map.keySet();
방법 1-1) ksySet() 정보를 Iterator로 처리하기
System.out.println("방법1-1) ksySet() 정보를 Iterator로 처리하기");
Iterator<String> it = keySet.iterator();
int a=1;
while (it.hasNext()) {
String key = it.next(); // key값 1개 가져오기
String value = map.get(key);
System.out.println(a++ +" "+ key + " : " + value);
}
방법 1-2) keySet() 정보를 '향상된 for문'으로 처리하기
System.out.println("방법1-2) keySet() 정보를 '향상된 for문'으로 처리하기");
for (String key : map.keySet()) {
String value = map.get(key);
System.out.println(key + " => " + value);
}
방법 2) value값만 가져와 처리하기
System.out.println("방법2) value값만 가져와 처리하기");
for (String value : map.values()) {
System.out.println(value);
}
'Java' 카테고리의 다른 글
[고급자바] Arg, enum(열거형), generic(제네릭) (0) | 2023.03.04 |
---|---|
[고급자바] 문제(전화번호, 호텔 관리 프로그램) (1) | 2023.03.04 |
[고급자바] 문제(Student 클래스, 숫자야구게임, 로또 판매 프로그램) (0) | 2023.03.03 |
[고급자바] equals(), hashcode() (0) | 2023.03.03 |
[고급자바] 정렬(Comparator, Comparable) (0) | 2023.03.03 |