2015-01-21 1 views
0

누락 (소스 코드)를 포함의. 그렇다면 구현은 어디에 있습니까? 그것은 확실히 TreeSet 자체가 아닙니다. TreeSet의 소스에서자바의 TreeSet의 구현 나는 다음과 같은 코드가있는 TreeSet의 클래스의 소스 코드를 열 때

+2

'm'이 무엇인지 알아 냈고'm' 클래스의'containsKey' 메소드의 소스 코드를 찾았습니까? – rgettman

+0

알았어, 지금은 바보 같아. m은 NavigableMap이지만 TreeMap으로 인스턴스화되며 거기에서 구현을 찾았습니다. 이 질문을 삭제해야합니까? –

답변

1

:

TreeSet(NavigableMap<E,Object> m) { 
    this.m = m; 
} 

public TreeSet() { 
    this(new TreeMap<E,Object>()); 
} 

그래서 m가 있어야 할 TreeMap이 (또는 NavigableMap의 가능성이 다른 구현 같은 패키지의 다른 클래스가 생성자를 호출하는 경우).

+0

'TreeSet (NavigableMap m)'생성자는 패키지 전용으로 범위가 지정되므로'NavigableMap '일 수는 없습니다.'TreeSet'을'TreeMap'으로 구성하거나 TreeSet 'TreeMap' 서브맵에서 –

+0

좋은 지적. 결정된. – Todd

+0

네 말이 맞아. 나는 NavigableMap m 실제로 그것을 구현하는 클래스의 수퍼 인터페이스 수 있습니다 놓친 ... 일식에서 m 클릭 한 다음 "Open Declaration"하지만 NavigableMap 인터페이스를 열 ... 내가 왜 그랬는지 모르겠다 ' 그걸 생각하면 안돼. 나는 침대에 가야 해. –

관련 문제