ArrayList
ist einzigartig in seinen Namensstandards. Hier sind die Äquivalenzen:
Array.push -> ArrayList.add(Object o); // Append the list
Array.pop -> ArrayList.remove(int index); // Remove list[index]
Array.shift -> ArrayList.remove(0); // Remove first element
Array.unshift -> ArrayList.add(int index, Object o); // Prepend the list
Beachten Sie, dass unshift
nicht nicht entfernt ein Element, sondern fügt man zu der Liste. Beachten Sie auch, dass das Verhalten in Eckfällen zwischen Java und JS wahrscheinlich unterschiedlich ist, da sie jeweils ihre eigenen Standards haben.
.push
?Array.push -> ArrayList.add
, und speziell gefragtpop
,shift
undunshift
. Wenn ich das noch einmal lese, werde ich weitere Erklärungen hinzufügen und gleichzeitig hinzufügen.push
.Ich war vor einiger Zeit mit diesem Problem konfrontiert und fand, dass
java.util.LinkedList
es für meinen Fall am besten ist. Es gibt verschiedene Methoden mit unterschiedlichen Namen, aber sie tun, was benötigt wird:quelle
LinkeList
FügtArrayList
derList
Benutzeroberfläche Methoden hinzu, die sehr ineffizient wären . Das hat mich verwirrt. Diese Methoden kommen von denDeque
undQueue
Schnittstellen, die sie implementiert, aberArrayList
nicht.Vielleicht möchten Sie einen Blick auf die
java.util.Stack
Klasse werfen . Es hat Push-Pop-Methoden. und implementierte List-Schnittstelle.Für Shift / Unshift können Sie auf die Antwort von @ Jon verweisen.
ArrayList ist jedoch nicht synchronisiert. aber Stack ist. (Unterklasse von Vector). Wenn Sie eine thread-sichere Anforderung haben, ist Stack möglicherweise besser als ArrayList.
quelle
Tolle Antwort von Jon .
Ich bin allerdings faul und ich hasse es zu tippen, also habe ich ein einfaches Beispiel zum Ausschneiden und Einfügen für alle anderen Leute erstellt, die wie ich sind. Genießen!
quelle
Die Unterstreichungs-Java- Bibliothek enthält die Methoden push (Werte), pop (), shift () und unshift (Werte).
Codebeispiel:
quelle