Hallo!
Ich habe eine Frage zu "TreeSet" in Java.
Bei der Erstellung eines TreeSets muss ein Comparatorobjekt übergeben werden:
Code:
import java.util.*;
public class Test
{
public static void main(String[] args)
{
TreeSet set = new TreeSet(new CompObj());
}
}
Die Klasse "CompObj" muss nun die Methode compare besitzten, die sie aus dem Interface "Comparator" erbt.
//Edith: Sie erbt eine abstrakte Methode, deshalb muss Sie überschrieben werden.
Code:
class CompObj implements Comparator
{
public int compare(Object o1, Object o2)
{
return(..."ein Vergleich"...);
}
}
Meine Frage ist: Wie funktioniert das Comparatorobjekt genau? Ich denke, die Methode compare() wird aufgerufen, und vergleicht die beiden objekte. Welche Objekte sind das?
Bei versuchen ist mir aufgefallen, dass sie dich Sortierung im TreeSet nach dieser Methode richtet. Ich nehme an, dass irgendwelche objekte in der TreeSet der Methode übergeben werden, nur weiß ich nicht welche genau.
Zweite Frage:
Sowas ist doch sicher auch möglich:
Code:
import java.util.*;
public class Test implements Comparator
{
TreeSet set;
public static void main(String[] args)
{
Test test = new Test();
}
public Test()
{
set = new TreeSet(this);
}
public int compare(Object o1, Object o2)
{
return(...."Vergleich"....);
}
}
oder?! :>
Dankeschön und noch nen schönen Tag.
