2009-09-26 5 views
1

트리 클래스에서 두 노드를 비교한다고 가정합니다. 항목을 검색하고 추가하는 것을 알고 있기 때문입니다. 내가 비교할 수있는 몇 가지 문제가 있습니다. 트리에 데이터 (generic, anything)를 추가하면 Tree 클래스가 호출되어 새 Node 객체가 만들어집니다. Node 클래스의 변수 데이터/요소를 E (anything) 유형으로 선언 할 수 있습니까? 진지하게, 나는 아무 것도 결론 지으면서 앞뒤로 시도했다.자바 바이너리 트리, 노드를 구현하는 방법?

답변

3

모두가 Comparable이 아닙니다. 귀하의 요구 사항은 자기 모순입니다. 당신은 같은 일반 매개 변수를 선언하여 비교할 수 E을 제한 할 수 있습니다

< E extends Comparable<E> > 

이 방법은, 클래스의 소비자는 그것으로 Comparable 인터페이스를 구현하는 모든 클래스를 사용할 수 있습니다. E을 입력하면 compareTo 메소드에 액세스 할 수 있습니다.

+0

Perfect! 고맙습니다! 아니, 모든 것이 아닙니다. 그러나 이것은 트리에서 사용되는 요소의 요구 사항입니다. 내 작은 나무 구현 이제 작동하고 이해가 되네! 고맙습니다. – Algific

관련 문제