Wie zu benutzen compareTo () - Methode zum vergleichen von Objekten in einer Liste?
Habe ich eine Klasse namens ListNode
funktioniert wie eine Liste. Mit dieser Klasse möchte ich eine Aufstellung der Magazine Objekte. In meinem MagazineList
Klasse, die ich Bearbeiten möchten Sie die add-Methode, also wenn ich einfügen Magazine
s Sie werden alphabetisch sortiert. Wie kann ich dies tun?
Meine ListNode
Klasse:
public class ListNode {
private Object value;
private ListNode next;
//intializes node
public ListNode (Object initValue, ListNode initNext) {
value = initValue;
next = initNext;
}
//returns value of node
public Object getValue () {
return value;
}
//returns next reference of node
public ListNode getNext () {
return next;
}
//sets value of node
public void setValue (Object theNewValue) {
value = theNewValue;
}
//sets next reference of node
public void setNext (ListNode theNewNext) {
next = theNewNext;
}
}
meine MagazineList
class die add-Methode:
//when instantiated, MagazineList's list variable is set to null
public void add (Magazine mag) {
ListNode node = new ListNode (mag, null);
ListNode current;
if (list == null)
list = node;
else {
current = list;
while (current.getNext() != null)
current = current.getNext();
current.setNext(node);
}
}
Habe ich diese Methode zum Vergleich der Magazines
im Magazine
Klasse:
//compares the names (Strings) of the Magazines.
public int compareTo(Magazine mag2) {
return (title).compareTo(mag2.toString());
}
InformationsquelleAutor nichi | 2013-09-25
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einen einfachen Weg, dies zu tun ist, halten Sie Ihre Liste immer sortiert.
Dann, jedes mal, wenn Sie einen neuen Knoten einfügen, ausgehend von dem Kopf, Sie sollten vergleichen Sie die den neuen Knoten mit jedem Knoten in der Liste mit
compareTo
- Methode, und fügen den neuen Knoten nach dem Knoten, für dencompareTo
gibt positive.Eine grundlegende Implementierung kann wie folgt Aussehen. Sie brauchen, um zu verbessern und zu prüfen, Sonderfälle etc. obwohl.
Wie diese