정렬 된 연결된 목록 숙제에 대해 작업 중이며 비교 자 설정에 대해 혼란 스럽습니다. 모든 클래스를 받아들이도록 매개 변수화 된 연결된 목록 클래스를 작성했습니다. 연결된 목록 잘 작동하지만 그것은 매개 변수화 된 때문에 목록에 대한 비교자를 설정하는 방법에 대해 혼란스러워. 먼저 비교 자 클래스를 만들어 생성자에 전달합니까? 비교자를 사용하여 목록의 순서를 유지합니다. 또는 연결된 목록 클래스에 정의 된 비교 자의 동작을 변경하는 클래스 내에 변수가 있어야합니까? 죄송합니다. 약간 혼란 스럽기 때문에 이것이별로 의미가 없습니다. 감사!매개 변수가있는 연결된 목록의 인스턴스화시 비교기 설정
편집 :
이 가 (예 나는 실제로 그렇게하지 않을 알고 있지만 그 자체가 내가 명확히해야, 우리가, 우리가 설계하고 자바 컬렉션 라이브러리에서 LinkedList의를 사용할 수 없습니다 우리의숙제 디자인 엑소시즘). 내 LinkedList 클래스는 다음과 같이 표시됩니다.
public class LinkedList<T> implements Iterable<T> {
private LinkedListNode<T> head = null;
private int size = 0;
.
.
.
//various methods for retrieving size, iterator etc...
}
요소를 삽입 할 때 올바른 위치에 배치해야합니다. 내 생각은 LinkedList 객체의 인스턴스 생성시 전달되는 비교 자에 의해 결정되도록하는 것입니다. 이 같은 아마 뭔가 :
LinkedList<MyClass> myList(MyClass.myComparator);
내 문제는 내가 객체의 수명 전반에 걸쳐 사용되는 동일한 클래스 (MyClass에) 여러 비교기를 가질 필요가 있다는 것입니다. 또한 LinkedList에서 비교자를 설정하는 방법으로 혼란스러워합니다.
일부 코드는 귀하의 답변에 도움이됩니다. 당신이 설명하는 것에서부터 당신은 생성자에 비교자를 전달할 필요가있을 것이고 add 메소드에서 그것을 사용하여 항목을 추가 할 위치를 결정할 것입니다 – BrendanMcKee