Sortierte LinkedList nach Variablen durchsuchen und nicht nach INDEX

Status
Nicht offen für weitere Antworten.

saberdam

Mitglied
Hallo,

Ich hab bei Google und auch hier im Forum gesucht, aber konnte nicht wirklich was finden.
Ich habe eine LinkedList mit Koordinaten. Diese Liste ist sehr Groß. Sie wurde auch mit einem Comperator von der kleinsten X-Koordinate bis zur größten sortiert. Also spricht Collection.sor(LISTE, comp).

Da die Liste sehr groß ist, gibt es Performance Probleme wenn ich mit einer for-schleife die Liste durchgehe um zu gucken ob irgend ein Objekt(kein JavaObjekt gemeint) in der nähe irgend einer Koordinate einesListeneintrags ist.
Da das Objekt selber auch Koordinaten besitzt, wollte ich die for-Schleife eingrenzen.
Das sollte dann so aussehen, dass er z.b. nur Koordinaten der Listeneinträge durchsucht die auch wirklich in der nähe der Koordinaten des Objektes sind.

Das Problem ist aber, ich kann dafür nicht den Index der Listeneinträge benutzen, sondern wollte die sortierten Koordinaten als grenzen benutzen.
Also z.B. die Koordinaten des Objektes sind
X-Koordinate = 500
dann sollte die Schleife so aussehen:
for ( int i = 300; i < (ListeneintragKoordinate == 700); i++)

Da es Fehler geben wird, da nicht Jeder Listeneintrag von 300 bis 700 genau diese Koordinaten hat, weiß ich.
Ich wollte diese grenzen sowieso in einer Methode bestimmen und die Fehler abfangen.
Aber gibt es eine Möglichkeit nicht per Index auf die Listeneinträge zu zugreifen sondern per sortierte Variable ?
Ist vielleicht meine Methode unrealistisch und überhaupt nicht möglich?

Ich hoffe irgendwer versteht überhaupt was ich haben will.

Danke im Vorraus!
 
Zuletzt bearbeitet:
S

SlaterB

Gast
oder wenn du ein bestimmtes Element hast, dann besorge dir einen Iterator von dieser Position und bewege dich dort in der Liste vorwärts + rückwärts, bis die Grenze erreicht ist
 

saberdam

Mitglied
Ah, danke für eure Antworten. Ich würde gerne meine LinkedList behalten.
Ich probier das mit dem Iterator aus und sag dann bescheid. Hab noch nie n Iterator benutzt.
 

Marco13

Top Contributor
Genaugenommen wäre ein Array sogar noch besser ... aber es zwingt einen ja niemand, die passende Datenstruktur für sein Problem zu verwenden ;)

Aus Collections.java:
Java:
    * This implementation dumps the specified list into an array, sorts
     * the array, and iterates over the list resetting each element
     * from the corresponding position in the array.  This avoids the
     * n<sup>2</sup> log(n) performance that would result from attempting
     * to sort a linked list in place.
...
     */
    public static <T extends Comparable<? super T>> void sort(List<T> list) {
	Object[] a = list.toArray();
	Arrays.sort(a);
	ListIterator<T> i = list.listIterator();
	for (int j=0; j<a.length; j++) {
	    i.next();
	    i.set((T)a[j]);
	}
    }
 

KrokoDiehl

Top Contributor
* This implementation dumps the specified list into an array, sorts
* the array, and iterates over the list resetting each element
* from the corresponding position in the array. This avoids the
* n<sup>2</sup> log(n) performance that would result from attempting
* to sort a linked list in place.
Urgs, das klingt ja unperformant.
 

Marco13

Top Contributor
Aber eben wesentlich performanter als eine LinkedList "händisch" zu sortieren. Es hat mich ehrlich gesagt nur gewundert, dass dieses Verfahren auch bei einer List verwendet wird, die "RandomAccess" implementiert (ArrayList zum Beispiel) - bei binarySearch usw. wird ja auch für RandomAccess das einfache Verfahren verwendet. Eigentlich ist dieses Umkopieren bei einer ArrayList ja überflüssig ???:L
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
L Zwei sortierte Subarrays mit gleicher Länge zusammenfügen Java Basics - Anfänger-Themen 2
B sortierte Liste Java Basics - Anfänger-Themen 4
E sortierte Arrayteile zusammenfügen Java Basics - Anfänger-Themen 0
A Sortierte Listen Java Basics - Anfänger-Themen 4
J Sortierte generische Liste Java Basics - Anfänger-Themen 1
K 2 sortierte Arrays zu einem Arrays zusammenführen Java Basics - Anfänger-Themen 13
B Sortierte Liste implementieren Java Basics - Anfänger-Themen 3
M sortierte Ausgabe eines .txt Dokuments Java Basics - Anfänger-Themen 1
H 2 sortierte arrays in ein array Java Basics - Anfänger-Themen 2
M Sortierte Tabelle in Datei schreiben Java Basics - Anfänger-Themen 5
P Sortierte Liste Java Basics - Anfänger-Themen 29
Povlsen84 Datentypen Große, sortierte, schnelle Datenstruktur Java Basics - Anfänger-Themen 9
L Problem mit Iterator bzw. Sortierte Liste Java Basics - Anfänger-Themen 14
G Zwei sortierte Arrays zusammenführen Java Basics - Anfänger-Themen 13
G Sortierte Daten Java Basics - Anfänger-Themen 7
M Sortierte Liste / Map Java Basics - Anfänger-Themen 8
M Sortierte Liste nach Wert durchsuchen Java Basics - Anfänger-Themen 8
T Sortierte Ausgabe in der Shell Java Basics - Anfänger-Themen 4
A LinkedList implementieren Java Basics - Anfänger-Themen 32
M Wie kann ich den Index i von einer LinkedList überprüfen? Java Basics - Anfänger-Themen 36
Düsseldorf2002 Datentypen Verschachtelte LinkedList Java Basics - Anfänger-Themen 5
Düsseldorf2002 Datentypen Zwei dimensionale LinkedList Java Basics - Anfänger-Themen 8
B Warteschlange erstellen mit LinkedList ? Java Basics - Anfänger-Themen 6
U Objekte in LinkedList löschen und editieren Java Basics - Anfänger-Themen 14
G Java LinkedList remove Methode Java Basics - Anfänger-Themen 5
G Java LinkedList Java Basics - Anfänger-Themen 6
U Objekte in einer LinkedList sortieren Java Basics - Anfänger-Themen 5
S Eigene LinkedList Klasse Java Basics - Anfänger-Themen 4
S Mit einer LinkedList vorwärts und rückwärts iterieren Java Basics - Anfänger-Themen 6
S Endlosschleife beim Ausgeben einer LinkedList Java Basics - Anfänger-Themen 2
G Java LinkedList Java Basics - Anfänger-Themen 3
B LinkedList add-Methode Java Basics - Anfänger-Themen 10
F Windows in LinkedList registrieren Java Basics - Anfänger-Themen 3
A Hilfe, LinkedList Java Basics - Anfänger-Themen 2
H Knoten-Reihenfolge einer LinkedList invertieren Java Basics - Anfänger-Themen 11
H linkedlist generische klassen Java Basics - Anfänger-Themen 169
O Hashmap, ArrayList, LinkedList Java Basics - Anfänger-Themen 7
P Quellcode LinkedList Java Basics - Anfänger-Themen 2
F Collection Aufgabe mit LinkedList Java Basics - Anfänger-Themen 3
N Hilfe bei verknüpfter Liste - Linkedlist Java Basics - Anfänger-Themen 11
P Datentypen LinkedList: Kopie behält Referenz? Java Basics - Anfänger-Themen 3
C ArrayList vs LinkedList vs ? Java Basics - Anfänger-Themen 15
C LinkedList vs. ArrayList Java Basics - Anfänger-Themen 15
O LinkedList zu ArrayList Java Basics - Anfänger-Themen 4
M LinkedList elemente löschen Java Basics - Anfänger-Themen 2
L Problem mit LinkedList Java Basics - Anfänger-Themen 3
F In LinkedList einen Wert ersetzen oder neu einfügen Java Basics - Anfänger-Themen 7
P Hashmap anstatt LinkedList? Java Basics - Anfänger-Themen 6
TechGirl LinkedList - kurze allgemeine Frage Java Basics - Anfänger-Themen 17
B generische LinkedList nach Häufigkeit der Elemente füllen Java Basics - Anfänger-Themen 6
L LinkedList Comparable < > MEHRFACH implementieren? Java Basics - Anfänger-Themen 3
S LinkedList mit Input vergleichen. Java Basics - Anfänger-Themen 5
C Bei der LinkedList auf Palindrom überprüfen Java Basics - Anfänger-Themen 4
F Element aus LinkedList löschen Java Basics - Anfänger-Themen 3
A LinkedList: Probleme beim Auslesen Java Basics - Anfänger-Themen 2
T Collections LinkedList<LinkedList<T>> - Implementierung Java Basics - Anfänger-Themen 10
S Jfreechart mit LinkedList befüllen Java Basics - Anfänger-Themen 1
S JTable LinkedList <Objekt> befüllen Java Basics - Anfänger-Themen 1
K LinkedList aus Arrays ( Lösungsraum Mastermind ) Java Basics - Anfänger-Themen 5
Z Compiler-Fehler LinkedList Fragen Java Basics - Anfänger-Themen 4
K Methoden Probleme mit LinkedList.remove(object) Java Basics - Anfänger-Themen 1
Farbenfroh int in LinkedList einsortieren Java Basics - Anfänger-Themen 4
W Klassen LinkedList funktioniert nicht Java Basics - Anfänger-Themen 6
X LinkedList - Index eines Objekts Java Basics - Anfänger-Themen 2
S Strings in eine LinkedList schreiben und auslesen? Java Basics - Anfänger-Themen 4
D Sortieren von int Werten von Objekten in einer LinkedList, kann nicht auf int Werte zugreifen Java Basics - Anfänger-Themen 3
F Eigene LinkedList - toString Java Basics - Anfänger-Themen 10
T Datentypen gleichmäßiges mischen von 2 LinkedList Java Basics - Anfänger-Themen 3
S Dateien/LinkedList/StringBuffer - SOrtierung klappt nicht so ganz Java Basics - Anfänger-Themen 2
J Datentypen Array von einer LinkedList Java Basics - Anfänger-Themen 5
R LinkedList Java Basics - Anfänger-Themen 8
J Per I/O Streams in LinkedList oder ArrayList schreiben/lesen Java Basics - Anfänger-Themen 6
B LinkedList remove Java Basics - Anfänger-Themen 5
J statische Methoden auf eine LinkedList initialisieren? Java Basics - Anfänger-Themen 5
G Hausaufgabe mit LinkedList und LinkedListStack verstehen Java Basics - Anfänger-Themen 6
N LinkedList-checkForComodification Java Basics - Anfänger-Themen 11
N LinkedList Java Basics - Anfänger-Themen 17
P LinkedList sortieren Java Basics - Anfänger-Themen 20
P LinkedList - Stack ... grundlegende Frage Java Basics - Anfänger-Themen 5
Z Erste Schritte LinkedList Werte abfragen und vergleichen Java Basics - Anfänger-Themen 3
B SUCHE: Threadsafe LinkedList Java Basics - Anfänger-Themen 10
Binary.Coder Wie linkedlist für Djikstra nutzen? Java Basics - Anfänger-Themen 6
M Arrays in LinkedList Java Basics - Anfänger-Themen 4
R Collections Probleme mit contains()-Methode [LinkedList] Java Basics - Anfänger-Themen 5
G Collections.binarySearch(LinkedList): cannot find method Java Basics - Anfänger-Themen 6
M LinkedList aktuelle position Java Basics - Anfänger-Themen 3
G Frage zu LinkedList Java Basics - Anfänger-Themen 15
H Dynamische Bindung mit Interfaces und LinkedList Java Basics - Anfänger-Themen 7
I LinkedLIst / ArrayList Konstruktor Java Basics - Anfänger-Themen 4
B Collections RandomAccessfile & Linkedlist Java Basics - Anfänger-Themen 4
S Speichermangel ArrayList/LinkedList Java Basics - Anfänger-Themen 3
V LinkedList size() Java Basics - Anfänger-Themen 2
darekkay Datentypen HashSet bzw. LinkedList mit Werten initialisieren Java Basics - Anfänger-Themen 3
D Probleme mit LinkedList Java Basics - Anfänger-Themen 6
L LinkedList vorgänger Knoten zurück geben Java Basics - Anfänger-Themen 4
S LinkedList indexOf() - geht des irgendwie schneller? Java Basics - Anfänger-Themen 23
S LinkedList<String[]> filtern und sortieren Java Basics - Anfänger-Themen 9
W LinkedList Java Basics - Anfänger-Themen 12
S Frage zum speichern der Daten in einer LinkedList Java Basics - Anfänger-Themen 2
D Fenster in LinkedList verwalten Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben