• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    해결됨

HashMap .values() 메서드

24.06.23 00:30 작성 24.06.23 00:53 수정 조회수 82

1

안녕하세요. HashMap에서 values 메서드는 인터페이스를 반환하는데 Collection 인터페이스를 익명으로 구현 후 반환하나요? 아님 인터페이스 하위에 있는 구현 객체를 생성 후 반환하나요? 아님 크게 중요하지 않는 것인지,,

HashMap에서 values 메서드를 보니 아래와 같이 되어 있더라고요.

public Collection<V> values() {
    Collection<V> vs = values;
    if (vs == null) {
        vs = new Values();
        values = vs;
    }
    return vs;
}

 

감사합니다.

답변 1

답변을 작성해보세요.

1

David님의 프로필

David

2024.06.24

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

이 부분은 직접 테스트 해보시면 바로 알 수 있습니다.

new Values()를 통해 HashMap의 values() 바로 아래에 작성되어 있는 final class Values extends AbstractCollection<V> 클래스의 객체가 생성되어 반환됩니다.

감사합니다.

채널톡 아이콘