M
max_ray
Gast
Hallo!
Mich würde interessieren ob ich bei dem aufruf eines .get(index) einer java.util.LinkedList dieselbe Laufzeit habe als ob ich ein java.util.Array verwende (ebenfalls .get(index)).
Wenn ich die Methoden im JRE anschaue sehe ich leider nur die Implementation der LinkedList (die wie erwartet mit einer FOR Schleife durch die Elemente iteriert), die durch die Implementation eine lineare Laufzeit hat.
Bei einem Array endet meine Suche bei diesem Aufruf
wobei a vom Typ Object ist.
Interessant wäre jetzt natürlich wie diese Index-Suche(a[index]) funktioniert bzw. implementiert ist. Wenn hier ebenfalls die Speicheradressen mit einer for schleife hinaufgezählt werden wäre das auch ein linearer Aufwand, falls die Speicheradresse 1x addiert nur konstant.
Meine Frage ist, wo finde ich die Implementation von Object[index] ?? Soweit ich bis jetzt herausgefunden habe ist das ein native Aufruf der eine Impementation in C der JVM aufruft.
Danke im vorraus für Hilfe!
Mich würde interessieren ob ich bei dem aufruf eines .get(index) einer java.util.LinkedList dieselbe Laufzeit habe als ob ich ein java.util.Array verwende (ebenfalls .get(index)).
Wenn ich die Methoden im JRE anschaue sehe ich leider nur die Implementation der LinkedList (die wie erwartet mit einer FOR Schleife durch die Elemente iteriert), die durch die Implementation eine lineare Laufzeit hat.
Bei einem Array endet meine Suche bei diesem Aufruf
Code:
public E get(int index) {
return (E)a[index];
}
wobei a vom Typ Object ist.
Interessant wäre jetzt natürlich wie diese Index-Suche(a[index]) funktioniert bzw. implementiert ist. Wenn hier ebenfalls die Speicheradressen mit einer for schleife hinaufgezählt werden wäre das auch ein linearer Aufwand, falls die Speicheradresse 1x addiert nur konstant.
Meine Frage ist, wo finde ich die Implementation von Object[index] ?? Soweit ich bis jetzt herausgefunden habe ist das ein native Aufruf der eine Impementation in C der JVM aufruft.
Danke im vorraus für Hilfe!