Java で一般的なリンク リストを作成し (組み込みではありません)、LinkedList クラス、ListInterface クラス、Node クラス、Dvd クラス、および DvdManager クラスを持っています。私の目標は、リンクされたリストに DVD を追加して、アルファベット順に印刷できるようにすることです。リンクされたリストに DVD のコピーを追加、削除、および追加するためのコードを正常に作成できました。ただし、リストをアルファベット順に印刷する方法がわかりません。次のコードを使用してリストを印刷できますが、アイテムのタイトルに基づいてアルファベット順に印刷されません。
if (movies.isEmpty()) {
System.out.println("The list is empty.");
} else {
for (int i = 1; i <= movies.length(); i++) {
System.out.println(movies.get(i).getTitle());
}
}
ジェネリック型リストをアルファベット順に印刷するにはどうすればよいですか? ご覧になりたい場合は、私のクラス ファイルを次に示します (長いため、ペーストビンに配置しました): DvdManager、Dvd、LinkedList、ListInterface、およびNode。ありがとう。
編集:挿入ソートを使用してそれを理解しました:
public void add(Dvd item) {
DvdNode addThis = new DvdNode(item);
if(head == null) {
head = addThis;
} else if(item.getTitle().compareToIgnoreCase(head.getItem().getTitle()) < 0) {
addThis.setNext(head);
head = addThis;
} else {
DvdNode temp;
DvdNode prev;
temp = head.getNext();
prev = head;
while(prev.getNext() != null && item.getTitle().compareToIgnoreCase
(prev.getNext().getItem().getTitle()) > 0) {
prev = temp;
temp = temp.getNext();
}
addThis.setNext(temp);
prev.setNext(addThis);
}
}