- Java에서 Map.Entry는 일반적으로 Map 인터페이스를 사용할 때 함께 사용됩니다. - Map 인터페이스에서 제공하는 키-값 쌍을 표현하기 위해 사용됩니다. 따라서 getKey()와 getValue() 메서드를 사용하여 해당 Map.Entry 객체의 키와 값을 가져올 수 있으며, setValue() 메소드를 통해서 값을 지정이 가능합니다.
메서드
설명
getKey()
이 Entry에 대한 키 반환
getValue()
이 Entry에 대한 값 반환
setValue(V value)
이 엔트리의 값을 주어진 값으로 설정
💡 Map.Entry를 사용하여 Map 인터페이스를 반복하면서 각각의 키-값 쌍을 출력하는 예시입니다.
Map<String, Integer> map = new HashMap<>();
// Map에 데이터 추가
map.put("A", 1);
map.put("B", 2);
map.put("C", 3);
// Map.Entry를 사용하여 Map 반복for(Map.Entry<String, Integer> entry : map.entrySet()) {
System.out.println("Key: " + entry.getKey() + ", Value: " + entry.getValue());
}
[ 더 알아보기 ]
💡Map과 Map.Entry는 무슨 차이 인가?
- Map과 Map.Entry는 모두 자바 컬렉션 프레임워크에서 사용되는 인터페이스입니다.
- Map은 “키-값 쌍으로 이루어진 데이터를 저장하고 관리”하는 데 사용되며 중복된 키를 허용하지 않습니다 - Map.Entry는 Map 인터페이스에서 사용되는 내부 인터페이스로, Map에 저장된 키-값 쌍을 나타냅니다. Map 인터페이스에서 제공되는 메서드 중 일부는 Map.Entry 인터페이스를 반환합니다.
- 이를 통해 Map에 저장된 “키-값 쌍을 쉽게 처리”할 수 있습니다.
- 결론적으로 Map은 데이터를 “저장하고 관리”하는 데 사용되고, Map.Entry는 “Map에서 사용되는 키-값 쌍을 처리”하는 데 사용됩니다.
2. 구현
💡 Counting Map 구성방법
1. Key, Value가 Integer 값인 Map을 선언합니다.
2. 반복문을 순회하면서 key는 요소 값으로 지정하며, value는 키와 동일한 값이면 0을 반환하며 이외에 경우에는 +1을 더합니다. (해당 과정을 통해 이미 존재하는 키값에 +1이 되어 새로운 값으로 대체가 됩니다.)