Collection - Map
1. Map : key와 value값으로 저장이 되는 구조. key와 value는 한쌍
👏 Map은 Collection인터페이스를 상속받지 않았다.
2. key : Object 자료형, 중복 불가능(Set형식), 보통 String자료형을 많이 사용
👏 key값이 중복되는 경우 기존 key에 덮어씌움.
3. value : Object 자료형, 중복 가능(List형식), 보통 객체를 많이 사용
4. put(key, value) : map에 데이터를 대입하는 메소드
// put(key, value) : Map에 데이터를 넣는 메소드
HashMap map = new HashMap();
map.put("가", "A"); // key가 "가"이고 value가 "A"인 데이터
map.put("나", "B");
map.put("다", "C");
map.put("라", "D");
System.out.println(map);
// 결과
{가=A, 다=C, 나=B, 라=D}
5. get(key) : Map의 데이터 가져오는 메소드
// get(key) : Map 데이터 가져오기
System.out.println(map.get("다"));
System.out.println(map.get("나"));
// 결과
C
B
6. remove(key) : key값과 일치하는 데이터 삭제
// remove(key) : key값과 일치하는 데이터를 삭제
System.out.println(map); // remove 전
map.remove("라");
System.out.println(map); // remove 후
// 결과
{가=A, 다=C, 나=B, 라=D} // remove 전
{가=A, 다=C, 나=B} // remove 후
7. Map에 있는 전체 데이터 순회하기
1) key값을 가지고 데이터 순회하기 -> Iterator사용 => keySet()을 사용하면 map에 있는 모든 key값을 Set형식으로 가져온다.
// Map에 있는 전체 데이터 순회하기
// 1. key값을 가지고 데이터 확인하기 -> Iterator사용
// keySet() 메소드를 사용하면 map에 있는 모든 key값을 Set형식으로 가져옴
Set keys = map.keySet();
Iterator it = keys.iterator();
while(it.hasNext()) {
String key = (String)it.next();
System.out.println(key + " : " + map.get(key)); // key : value 출력
}
// 결과
가 : A
다 : C
나 : B
2) key와 value 동시에 가져오기 -> iterator 사용 => Map.Entry클래스를 사용 : entrySet()메소드를 사용하면 Map.Entry클래스가 반환된다.
// 2. key, value를 동시에 가져오는 방법
// Iterator를 이용해서 처리.
// Map.Entry클래스 사용
// entrySet()메소드를 이용 -> Map.Entry클래스가 반환된다
Set entrySets = map.entrySet();
Iterator it2 = entrySets.iterator();
while(it2.hasNext()) {
Map.Entry ent = (Map.Entry)it2.next();
System.out.println(ent.getKey() + " : " + ent.getValue());
}
// 결과
가 : A
다 : C
나 : B
'Java' 카테고리의 다른 글
[Java] 날짜 비교 메소드 - after() / before() / equals() (0) | 2023.03.08 |
---|---|
컬렉션(Collection) - Set (0) | 2021.10.20 |
컬렉션(Collection) - List (0) | 2021.10.12 |
추상(Abstract) (0) | 2021.10.05 |
다형성(polymorphism) (0) | 2021.09.30 |