본문 바로가기
Java

컬렉션(Collection) - Map

by ZIAHO 2021. 10. 20.

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