1k Aufrufe
Gefragt in Anwendungen(Java,C++...) von
Hallo,

in meinem Programm kommt die Zeile:

while ( .....) {
array[j+1] = array[j];
...


vor.
Da ich das ganze jetzt mit ArrayList<Integer> implementieren
möchte, kann ich ja nur mit


array.get(index);


auf ein Element zugreifen.

Wie kann ich also die Aussage von oben umsetzen, dass sie bei
ArrayList<Integer> akzeptiert wird. Der "array.set(...)" Befehl
funktioniert nicht so ganz.

Mfg

Zuse

2 Antworten

0 Punkte
Beantwortet von
Konnte das Problem durch:


int helpvariable = arrayList.get(j-1);
arrayList.set(j, helpvariable);


lösen.

Kann mir jemand erklären warum es nicht mit:

arrayList.set(j, j-1);


funktioniert?

Mfg

Zuse
0 Punkte
Beantwortet von kicia Mitglied (939 Punkte)
int helpvariable = arrayList.get(j-1);
arrayList.set(j, helpvariable);

Das Equivalent zu der Vorgehensweise mit der Helpvariable wäre nicht
arrayList.set( j, j - 1 );

sondern
arrayList.set( j, arrayList.get( j - 1 ) );


Angenommen, das Array enthielte [ 'A', 'B', 'C' ].
Wenn j = 3 wäre, wäre j - 1 = 2, aber arrayList.get( j - 1 ) wäre 'B'.

Also:
arrayList.set( j, j - 1 ) --> arrayList.set( 3, 2 );
arrayList.set( j, arrayList.get( j - 1 ) ) --> arrayList.set( 3, arrayList.get( 2 ) ) --> arrayList.set( 3, 'B' )
...