인프런 커뮤니티 질문&답변

권정익님의 프로필 이미지
권정익

작성한 질문수

김영한의 실전 자바 - 중급 2편

섹션 8。map1

해결된 질문

작성

·

160

0

Map<String, Integer> studentMap = new HashMap<>();
.
.
.
Collection<Integer> values = studentMap.values();

studentMap.values()를 하면 Collection타입으로 반환해준다고 하셨는데 의문이 하나 들었습니다.

Collection은 인터페이스, map은 Collection을 상속받지 않음으로 Collection은 studentMap.values()를 담을 수 없지어야 한다고 생각했는데... 모르겠습니다ㅠㅠ

답변 1

3

안녕하세요. 권정익님, 공식 서포터즈 David입니다.

Map인터페이스를 보시면 values 메서드의 반환 타입으로 Collection을 사용하고 있습니다.

Map의 구현체들(예: HashMap)을 보시면 이 인터페이스에 맞게(values 메서드가 Collection을 반환하도록) 구현되어 있습니다. 따라서, values 메서드로부터 반환되는 값을 Collection 타입으로 받을 수 있는 것입니다.

Map

image

HashMap

image

감사합니다.

권정익님의 프로필 이미지
권정익

작성한 질문수

질문하기