Welche Version ist effizienter:
1)
2)
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
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