verkettete Listen oder Arrays + Indexlisten effizienter?

luma2

Mitglied
Welche Version ist effizienter:

1)

Java:
// two arrays of the same length:
FirstClass[] firstClassArray = ...;
OtherClass[] otherClassArray = ...;

// index lists with complementary indices:
LinkedList<Integer> indices1 = ...;  // 0,1,4,6,7,9,12,...
LinkedList<Integer> indices2 = ...;  // 2,3,5,8,10,11,...

Iterator<Integer> indexIterator1 = indices1.descendingIterator();
while (indexIterator1.hasNext()) {
  int i = indexIterator1.next();
  FirstClass fc = firstClassArray[i];
  OtherClass oc = otherClassArray[i];
  ...
}

Iterator<Integer> indexIterator2 = indices2.descendingIterator();
// iterate over indexIterator2 in the same way


2)

Java:
// two lists of the same length:
LinkedList<FirstClass> firstClassList1 = ...;
LinkedList<OtherClass> otherClassList1 = ...;

// two lists of the same length:
LinkedList<FirstClass> firstClassList2 = ...;
LinkedList<OtherClass> otherClassList2 = ...;

Iterator<FirstClass> firstIterator1 = firstClassList1.descendingIterator();
Iterator<OtherClass> otherIterator1 = otherClassList1.descendingIterator();
while (firstIterator1.hasNext() && otherIterator1.hasNext()) {
  FirstClass fc = firstIterator1.next();
  OtherClass oc = otherIterator1.next();
  ...
}

Iterator<FirstClass> firstIterator2 = firstClassList2.descendingIterator();
Iterator<OtherClass> otherIterator2 = otherClassList2.descendingIterator();
// iterate over firstIterator2 and otherIterator2 in the same way


Brauche hier eine möglichst effiziente Lösung. Und noch ein paar Fragen:
- Sollte man besser die Indexlisten in (1) bzw. alle Listen in (2) umgedreht anlegen und list.iterator() verwenden?
- Wie funktioniert eine for-Schleife über eine LinkedList? Ist das effizienter als einen Iterator anzulegen, oder wird da sowieso implizit ein Iterator angelegt?

danke,
Luma
 

Landei

Top Contributor
Die beiden Varianten werden sich wohl kaum etwas nehmen. Warum verwendest du die veraltete Schreibwiese und nicht...
Java:
for(Integer i : indices1) {
  FirstClass fc = firstClassArray[i];
  OtherClass oc = otherClassArray[i];
  ...
}
...
? Der Compiler macht daraus ziemlich genau dasselbe.

Einen winzigen Tick schneller könnte es werden, wenn du statt der LinkedList<Integer> eine Datenstruktur verwendest, die dir das Boxing/Unboxing der ints spart (etwa GNU Trove).
 

luma2

Mitglied
ok wenn man vorwärts durchläuft, dann natürlich eine for-Schleife. Fürs rückwärts durchlaufen gibts ja soviel ich weiß keine solche Kurzschreibweise. Werd wahrscheinlich die Indexliste umgekehrt anlegen mit addFirst() statt add(), dann kann ich vorwärts durchlaufen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M doppelt verkettete Listen Allgemeine Java-Themen 2
J Rekursion oder Iteration - verkettete Listen Allgemeine Java-Themen 8
L Doppelt Verkettete Listen Allgemeine Java-Themen 6
E Verkettete Listen Allgemeine Java-Themen 5
M doppelt verkettete Listen? Allgemeine Java-Themen 5
M einfach verkettete Liste verstehen Allgemeine Java-Themen 23
K verkettete Liste Allgemeine Java-Themen 3
OSchriever Einfach verkettete Liste ändern Allgemeine Java-Themen 43
K Einfache Verkettete Liste mit Node Allgemeine Java-Themen 3
S Verkettete (Teil)Liste sortieren ( rekursiv bis n) Allgemeine Java-Themen 2
T Verkettete Suche Allgemeine Java-Themen 6
Z Sortiertes Einfügen in doppelt verkettete Liste Allgemeine Java-Themen 5
D Einfach verkettete Liste Allgemeine Java-Themen 3
R doppelt verkettete Liste: Fehler beim Einfügen Allgemeine Java-Themen 3
chik Doppelt verkettete Liste bzw. Zirkulärliste (kleiner Fehler, den ich nicht finde) Allgemeine Java-Themen 4
X einfach verkettete Liste und Insertion Sort Allgemeine Java-Themen 3
R Verkettete Liste Allgemeine Java-Themen 5
F Doppelt verkettete Liste sortieren? Allgemeine Java-Themen 8
M Schlange als verkettete Liste Allgemeine Java-Themen 4
J Doppelt verkettete Liste Allgemeine Java-Themen 6
D Zwei Listen vergleichen Allgemeine Java-Themen 7
L Listen Allgemeine Java-Themen 3
F Verständnisprobleme Aufgabenstellung Aktionsobjekte und generische Listen Allgemeine Java-Themen 1
E Listen in Java aneinanderfügen, subtrahieeren usw. Allgemeine Java-Themen 14
C Fehler beim Debuggen von Listen Allgemeine Java-Themen 4
J Mit Referenzen verkettet Listen. Allgemeine Java-Themen 9
S Intressante Benchmark-Ergebnisse mit Listen. Weiss jemand wie man diese erklaeren kann? Allgemeine Java-Themen 15
D Best Practice Die niedrigste Differenz zwischen zwei Listen ermitteln. Allgemeine Java-Themen 10
F Listen - Mehrere Objekte Allgemeine Java-Themen 1
P Listen sortieren Allgemeine Java-Themen 1
RalleYTN Collections Verständnisfrage zu Objektreferenzen in Listen Allgemeine Java-Themen 5
C Listen Allgemeine Java-Themen 1
M liste von listen anders ausgeben Allgemeine Java-Themen 1
W Sortierte Listen - Methode suchen Allgemeine Java-Themen 17
W Sortierte Listen mit Polymorphismus Allgemeine Java-Themen 6
S Permutation und Listen Allgemeine Java-Themen 2
P Doppeltverkettete Listen + Text Allgemeine Java-Themen 5
A Java Projekt (Daten Eingeben, Speichern und in Listen Ausgeben) Allgemeine Java-Themen 6
F JAXB / Listen durchlaufen Allgemeine Java-Themen 17
T Drucken von variabel langen Listen (es kommen nur leere Seiten raus) Allgemeine Java-Themen 2
F Vergleich zweier Listen Allgemeine Java-Themen 4
T Synchronisation von Listen bei Zugriffen durch mehrere Prozesse Allgemeine Java-Themen 15
D variabler Listen name Allgemeine Java-Themen 3
V Drucken von Listen Allgemeine Java-Themen 6
S Doppelte Werte in Listen,Vectoren etc suchen Allgemeine Java-Themen 2
M Addieren von Listen Allgemeine Java-Themen 2
F Objekte oder besser ID in Listen speichern? Allgemeine Java-Themen 2
S Mehrere Listen ineinander verschachteln Allgemeine Java-Themen 22
S Alle Elemente von zwei Listen vergleichen Allgemeine Java-Themen 10
R Objektsynchronisierung zweier Listen?!?! Allgemeine Java-Themen 2
H Listen Allgemeine Java-Themen 5
G Datenstruktur: LISTEN Allgemeine Java-Themen 7
J Verschachtelte ListIteratoren um in zwei Listen hin und herzugehen Allgemeine Java-Themen 5
C Problem Methoden, Klassen, Listen Allgemeine Java-Themen 27
K Listen,Bäume,Mengen Allgemeine Java-Themen 3
S Hinzufügen von Elementen zu Listen Allgemeine Java-Themen 4
A zwei listen vergleichen und unterschiede anzeigen Allgemeine Java-Themen 3
D Listen / Datenstrukturen und ein blutiger Anfänger Allgemeine Java-Themen 7
J Zwei sortierte Listen zusammenfassen Allgemeine Java-Themen 8
T Problem mit Listen Allgemeine Java-Themen 8
B binarysearch bei listen mit klassen Allgemeine Java-Themen 4
F Problem mit Java Listen Allgemeine Java-Themen 4
D Listen von Generischen Typen inkl. Vererbung Allgemeine Java-Themen 2
C Listen in Java. Anehängter Code nicht ganz klar Allgemeine Java-Themen 19
M objekt mit listen Allgemeine Java-Themen 5
G Domainen crawlen & Domainnamen listen -> LANGSAM! Allgemeine Java-Themen 19
M Listen Problem! Allgemeine Java-Themen 26
M Serialisierte listen ausgeben? Allgemeine Java-Themen 6
F 2 Varianten für synchronisierten Zugriff auf Listen Allgemeine Java-Themen 2
L Welche Collection ist die richtige ? Listen mergen Allgemeine Java-Themen 3
G Synchronisierte Listen. ein Graus Allgemeine Java-Themen 4
M Verknüpfung von Listen Allgemeine Java-Themen 3
S Frage zu ArrayList mit Listen Allgemeine Java-Themen 8
S Fragen zu 4 speziellen Listen Allgemeine Java-Themen 4
D Listen Allgemeine Java-Themen 4
M sortierte listen Allgemeine Java-Themen 5
I Doppelt verkette Listen Allgemeine Java-Themen 2
Ü Arrays vergleichen Allgemeine Java-Themen 59
Ü Methoden Arrays vergleichen - Methode Allgemeine Java-Themen 1
Ü Eurobeträge in möglichst wenig Scheine/Münzen zerlegen (2D-Arrays) Allgemeine Java-Themen 27
Buroto Arrays generator Allgemeine Java-Themen 10
B Arrays von Methoden möglich? Allgemeine Java-Themen 44
rosima26 Bester Sortieralgorithmus für kurze Arrays Allgemeine Java-Themen 40
B Lottospiel, genug Reihen tippen für 3 Richtige (Spaß mit Arrays)? Allgemeine Java-Themen 46
Muatasem Hammud Erstellung von Testdaten für Arrays Allgemeine Java-Themen 6
Junger_Basileus Attribute, Arrays, Schleifen Allgemeine Java-Themen 9
P Generics und Arrays Allgemeine Java-Themen 6
O Arrays an DOCX-Stamper Library übergeben Allgemeine Java-Themen 1
L ArrayList mit String Arrays in ein Array umwandeln Allgemeine Java-Themen 1
R Zeilen eines 2d Arrays abwechselnd links und rechts mit Nullen auffüllen Allgemeine Java-Themen 14
R Spalten/Zeilen verschieben in zweidimensionalen Arrays? Allgemeine Java-Themen 3
kodela Inhalt eines Arrays ändert sich mysteriös Allgemeine Java-Themen 2
W Spaß mit Arrays Allgemeine Java-Themen 1
W Reflexion und Arrays Allgemeine Java-Themen 7
S Problem mit Arrays Allgemeine Java-Themen 1
D Erste Schritte Arrays vergleichen und die zahlen die nur einmal vorkommen ausgeben Allgemeine Java-Themen 5
J int Werte in einer anderen Klasse in Arrays speichern Allgemeine Java-Themen 3
Neoline Interpreter-Fehler Probleme mit Arrays.toString Allgemeine Java-Themen 7
H Zweidimensionale Arrays Allgemeine Java-Themen 6
Neoline Methoden Zwei Arrays abwechselnd zusammenführen Allgemeine Java-Themen 15

Ähnliche Java Themen

Neue Themen


Oben