Comparable aber nicht immer

jobu0101

Bekanntes Mitglied
Ne, ich habe den Fehler. Eine andere Datenstruktur, TreeSet, scheint nicht mehrere Elemente mit der Position beinhalten zu können. Das bräuchte ich aber. Was ist da zu tun?
 

jobu0101

Bekanntes Mitglied
"Das TreeSet nutzt zur Einordnung den externen Comparator bzw. die compareTo()-Eigenschaft, wenn die Elemente Comparable sind. Gibt die Vergleichsmethode 0, so sind die Elemente gleich, und gleiche Elemente sind der Menge nicht erlaubt."

Das bräuchte ich aber. Was nun?
 
G

Gast2

Gast
Suchst du vllt sowas wie
Code:
Map<String, List<String>>
?
 

jobu0101

Bekanntes Mitglied
Suchst du vllt sowas wie
Code:
Map<String, List<String>>
?

Ich brauche eigentlich genau sowas wie TreeSet (also sortiert), nur dass ich auch mehrere Elemente, die verglichen 0 ergeben, besitzen darf, bei denen die Reihenfolge untereinander mir natürlich egal ist.

Also sowas wie TreeList, wenn es das gäbe. Oder anders ausgedrückt: Eine sortierte Liste.
 
Zuletzt bearbeitet:
G

Gast2

Gast
Es gibt auch sortierte Maps, z.b. ne
Code:
TreeMap<String, List<String>>
.
 

eRaaaa

Top Contributor
So etwas selbst zu bauen kann eklig werden:

guava-libraries - Project Hosting on Google Code

Java:
		Multimap<String, String> maps = TreeMultimap.create();
		maps.put("hallo", "Hallo Welt");
		maps.put("hallo", "Foo");
		maps.put("hallo", "Bar");
		for (Map.Entry<String, String> e : maps.entries()) {
			System.out.println(e);
		}

-->

Code:
hallo=Bar
hallo=Foo
hallo=Hallo Welt

und kann noch viel mehr !
 

jobu0101

Bekanntes Mitglied
Aber wieso kommt ihr immer mit Map? Das brauche ich gar nicht. Eigentlich brauche ich nur eine Datenstruktur, in die ich alles mögliche rein schmeiße und die mir dann das jeweils kleinste Element wieder ausgeben kann. Das würde prima mit einer TreeList funktionieren, wenn es sowas denn gäbe. Aber auf jeden Fall kein Assoziativspeicher wie maps.
 

faetzminator

Gesperrter Benutzer
Wenn du schlussendlich nur das kleinste Element benötigst, warum speicherst du nicht immer das kleinste, bzw. machst etwa folgendes:
Java:
Comparable smallest;
void setSmallest(Comparable c) {
    if (c.compareTo(smallest) < 0) {
        smallest = c;
    }
}
 
M

maki

Gast
Du bist ganz schön Beratungsresitent.

Du willst etwas das es gibt und funktioniert nicht, willst dafür aber etwas dass es nicht gibt... :noe:
 

jobu0101

Bekanntes Mitglied
Wenn du schlussendlich nur das kleinste Element benötigst, warum speicherst du nicht immer das kleinste, bzw. machst etwa folgendes:
Java:
Comparable smallest;
void setSmallest(Comparable c) {
    if (c.compareTo(smallest) < 0) {
        smallest = c;
    }
}

Sobald das kleinste draußen ist, weiß ich ja dann nicht mehr, welches nun das kleinste ist. Letztendlich werden ja alle Elemente bearbeitet. Nur kann es sein, dass zwischenzeitlich mal 10.000 Elemente auf Abarbeitung warten...
 

faetzminator

Gesperrter Benutzer
Ah so, also benötigst du trotzdem alle Elemente, nicht nur das kleinste ;) Aber ganz ernsthaft: Du kannst mit einer Delegation [c]YourObj<T>[/c] implementieren - im Hintergrund hast du [c]TreeMap<T, List<T>>[/c]. Beim Einfügen, einfach testen, ob es bereits existiert, wenn nicht, eine neue Liste (Value) anlegen, ansonsten einfach Wert in Liste einfügen. Dann kannst du gleich noch [c]pop()[/c] implementieren (wie bei einem Stack...).
 

martin0815

Mitglied
"Das TreeSet nutzt zur Einordnung den externen Comparator bzw. die compareTo()-Eigenschaft, wenn die Elemente Comparable sind. Gibt die Vergleichsmethode 0, so sind die Elemente gleich, und gleiche Elemente sind der Menge nicht erlaubt."

Das bräuchte ich aber. Was nun?
Kannst Du nicht einfach einen eigenen Comparator implementieren und bei der Konstruktion des TreeSets mit übergeben?

Falls ich es verstanden habe (fraglich ^^). dann müsste der eigene Comparator lediglich immer von Null verschiedene Werte zurückgeben bei der compare()-Methode und damit eine künstliche Ordnung erzeugen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Zwei Comparable (compareTo) vergleichen Allgemeine Java-Themen 6
M cannot be cast to java.lang.Comparable Allgemeine Java-Themen 5
K Interface Interface comparable machen Allgemeine Java-Themen 9
E Problem mit Generics und Comparable Allgemeine Java-Themen 16
E Heap und Comparable (warning: [unchecked] unchecked cast) Allgemeine Java-Themen 2
M Frage zu Interfaces (Beispiel: Comparable) Allgemeine Java-Themen 13
W [solved] Vector sortieren (Collection / Comparable?) Allgemeine Java-Themen 7
C Comparable + Vererbung Funktioniert nicht? Allgemeine Java-Themen 4
G Generics und Comparable Allgemeine Java-Themen 11
D Frage zu Comparable Allgemeine Java-Themen 3
S Java Programm lässt sich vom USB-Stick starten, aber nicht von HDD Allgemeine Java-Themen 16
8u3631984 Strukturiertes Logging : Jedes Feld in eine seperate Zeile - aber wie ? Allgemeine Java-Themen 2
berserkerdq2 Wenn ich bei Intelij javafx mit maven importieren will, muss ich das in die pom.xml reintun, aber warum noch in module-info.java? Allgemeine Java-Themen 3
N JAVA-Code mit Grafikfenster zeichnet in Windows, aber nicht Mac. Allgemeine Java-Themen 4
M Klasse durch Klassen Aufteilung verbessern, aber wo? Allgemeine Java-Themen 1
Thallius Zeitzone zu einem LocalDate hinzufügen aber ohne es zu ändern... Allgemeine Java-Themen 2
L Kursverlauf vorhersagen mit Deeplearning4j, aber komischer Knick am Anfang der Vorhersage Allgemeine Java-Themen 3
M Test geht auf Travis und mit Github Action schief aber nicht lokal Allgemeine Java-Themen 3
Zrebna FileUtils.cleanDirectory() - aber einen sub-Ordner "verschonen" Allgemeine Java-Themen 1
S Java.exe exestiert, aber irgendwie auch nicht Allgemeine Java-Themen 11
X Collections Gibt es eine Klasse welche die Vorteile von List und HashMap vereint, aber konstante Laufzeit (O(1)) hat in Java? Allgemeine Java-Themen 4
L Korrektur nach der Berechnung vornehmen, aber wie? Allgemeine Java-Themen 11
S Validation Null aber nicht Blank und muss Email sein Allgemeine Java-Themen 22
P Am Application Server - Selbe files aber trotzdem CNF Allgemeine Java-Themen 2
P Element einer Liste wurde hinzugefügt, aber es gibt keinen Zugriff Allgemeine Java-Themen 2
F Input/Output NullPointerException, aber wieso? [Apache POI] Allgemeine Java-Themen 11
T PDF-Generierung (itext) - läuft unter Eclipse, bei har aber leere Seite Allgemeine Java-Themen 39
K Erste Schritte Start einer JAR Datei 2 Wege aber einmal nicht die volle Funktionlität Allgemeine Java-Themen 20
E Exceptions abfangen und dann Programm stoppen - aber wie? Allgemeine Java-Themen 2
T Google OAuth 2.0 aber wie Allgemeine Java-Themen 16
B Web-Anwendung funktioniert mit Java 1.8, aber nicht mit Java 1.7 (auf Client) Allgemeine Java-Themen 5
K Programmfehler aber warum? Allgemeine Java-Themen 5
V Semikolonfehler,aber nicht lösbar.. Allgemeine Java-Themen 6
M String shuffeln, Anfang und Ende aber bleiben gleich Allgemeine Java-Themen 15
S Command funktioniert in Kommandzeile aber nicht mit ProcessBuilder bzw. Runtime.exec auf MAC Allgemeine Java-Themen 3
B NullPointerException - Aber kein Fehler im Code Allgemeine Java-Themen 4
T .dll in java benutzen aber wie? Allgemeine Java-Themen 4
B Input/Output version.cfg konnte nicht im Klassenpfad gefunden werden, ist aber dort. Allgemeine Java-Themen 0
L Prog läuft in der IDE, hängt sich aber am Mac auf Allgemeine Java-Themen 0
E Sms empfangen aber wie? Allgemeine Java-Themen 6
R Software ausliefern - Aber Wie? Allgemeine Java-Themen 10
D Input/Output Datei wird lokal aber nicht vom Webserver ausgelesen... Allgemeine Java-Themen 2
J Compiler-Fehler Compiliert unter Eclipse aber nicht mit javac Allgemeine Java-Themen 0
M Code läuft unter windows aber nicht unter Linux Allgemeine Java-Themen 6
B Threads Barrier mit wait()/notify() aber nicht alle Prozesse terminieren Allgemeine Java-Themen 2
S XML lesen, verarbeiten, speichern klappt in Eclipse, aber nicht in der JAR Allgemeine Java-Themen 4
R xx.xx.xx <-nur /w & /. aber !2x '.' hintereinander Allgemeine Java-Themen 6
P wieso kann ich auf bluej exportieren aber auf eclipse nicht? Allgemeine Java-Themen 2
H Scanner soll einen Inputredirect einlesen, liest aber nicht jedes Wort ein. Allgemeine Java-Themen 3
A NoSuchMethod aber Methode ist da! Allgemeine Java-Themen 4
F Objekt einer Datei verschieben, aber Verzeichnispfad fehlt Allgemeine Java-Themen 6
T Jar File läuft unter Windows aber nicht unter linux Allgemeine Java-Themen 10
S java.util.ConcurrentModificationException - aber nur ein Thread Allgemeine Java-Themen 3
nrg Auszulagernder Part, der aber variable Methode/Klasse aufruft Allgemeine Java-Themen 7
F Verschlüsseln, aber welcher Algo Allgemeine Java-Themen 29
H Threads Thread stirbt aber Objekte in ihm leben weiter?! Allgemeine Java-Themen 9
D Internet Abfrage aber mit Warteschleife Allgemeine Java-Themen 6
T Objekt 2x deserialisieren, aber nur 1x im Heap haben? Allgemeine Java-Themen 4
K iText, HTML Einrückung im Document, aber nicht im Paragraph Allgemeine Java-Themen 3
F NullPointerException aber warum ? Allgemeine Java-Themen 9
S exec( "cmd /c") aber Konsole soll offen bleiben Allgemeine Java-Themen 9
K event dispatch thread fehler. Compiler meckert nicht aber der Interpreter? Warum?? Allgemeine Java-Themen 11
J Funktioniert aber nicht gut erweiterbar Allgemeine Java-Themen 3
M net4j in Eclipse, installiert aber nicht im Build-path Allgemeine Java-Themen 4
C Überwachen der Zwischenablage, aber wie? Allgemeine Java-Themen 10
J Process beenden ...aber wie ? Allgemeine Java-Themen 19
D Scanner leer aber bufferedReader nicht?! Allgemeine Java-Themen 2
B Exception wird geworfen, ich darf sie aber nicht abfangen. Allgemeine Java-Themen 10
T JConsole: Klassen werden geladen aber nicht wieder entladen Allgemeine Java-Themen 3
T Datenbank lässt sich un Entwicklungsumgebung öffnen, aus .jar aber nicht Allgemeine Java-Themen 9
Z Boolean Abfrage gibt kein Boolean zurück, aber warum? Allgemeine Java-Themen 6
FoolMoon Datei zeilenweise einlesen, aber nicht die erste Zeile! Allgemeine Java-Themen 3
D Ich möchte meine *.java Dateien in Applets "umschreiben. Aber wie? Allgemeine Java-Themen 3
W Bild Spiegeln, aber Originalbild ausblenden Allgemeine Java-Themen 2
T Array durchsuchen - aber richtig Allgemeine Java-Themen 7
H Layout auslagern, aber wie genau??? Allgemeine Java-Themen 11
M 2 Methoden, 2 Rückgabewerte, aber ein Ergebnis Allgemeine Java-Themen 7
A programm anhalten aber wie? Allgemeine Java-Themen 4
M Ein Array-Wert soll sich verändern, aber 2 tun es? Allgemeine Java-Themen 7
Y ProcessBuilder, Prozess wird gestartet, aber Anwendung nicht Allgemeine Java-Themen 5
J Variabeln immer klein aber. Allgemeine Java-Themen 4
G Software fuer Auktionshaus Filmundo.de aber wie? Allgemeine Java-Themen 2
T Einzelnes Zeichen von der Tastatur einlesen, aber ohne Enter Allgemeine Java-Themen 4
H StartupFolder nutzen! Aber wie? Allgemeine Java-Themen 4
B Programm läuft unter Linux, aber nicht unter Windows Allgemeine Java-Themen 3
S instanceof liefert true, aber cast funktioniert nicht! Allgemeine Java-Themen 6
G Methode akzeptiert List<ParentClass> aber nicht List&l Allgemeine Java-Themen 2
V JAR-File läuft unter Windows und Linux, aber nicht unter OSX Allgemeine Java-Themen 6
M Setter-Methode wird aufgerufen aber ändert nichts? Allgemeine Java-Themen 8
O Vektoren in Vektor sortieren aber mit Java 1.4 (!) Allgemeine Java-Themen 4
G NullPointerException, aber warum? Allgemeine Java-Themen 10
lumo Row Header ist public, zeigt die funktion aber nicht public Allgemeine Java-Themen 8
D Image runterscalieren, aber schlechte Quali? Allgemeine Java-Themen 3
7 Inhalt eines Objekts leeren aber Objekt nicht löschen Allgemeine Java-Themen 17
M HashMap kapselt zwei Objekte aber wie baut man eine Matrix? Allgemeine Java-Themen 2
J 2 Threads - aber nur einer läuft wirklich. Allgemeine Java-Themen 3
H strings in datei verschlüsseln , auslesen mit klartext aber! Allgemeine Java-Themen 2
D JTable aus Eclipse Ok, kompeliert aber nicht Allgemeine Java-Themen 6
J httpclient: Post-method aber trotzdem "URI to long&quot Allgemeine Java-Themen 4
André Uhres BigDecimal in HashSet eingefügt, aber nicht in TreeSet Allgemeine Java-Themen 2

Ähnliche Java Themen

Neue Themen


Oben