Presta atención porque en este artículo vas a encontrar la contestación que buscas.
Solución:
ArrayList
es único en sus estándares de nomenclatura. Estas son las equivalencias:
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
Tenga en cuenta que unshift
no es retirar un elemento, pero en cambio agrega uno a la lista. También tenga en cuenta que es probable que los comportamientos de caso de esquina sean diferentes entre Java y JS, ya que cada uno tiene sus propios estándares.
Estaba enfrentando este problema hace algún tiempo y encontré java.util.LinkedList
es lo mejor para mi caso. Tiene varios métodos, con diferentes nombres, pero están haciendo lo que se necesita:
push() -> LinkedList.addLast(); // Or just LinkedList.add();
pop() -> LinkedList.pollLast();
shift() -> LinkedList.pollFirst();
unshift() -> LinkedList.addFirst();
tal vez quieras echar un vistazo java.util.Stack
clase. tiene métodos push, pop. e implementó la interfaz de lista.
para shift/unshift, puede hacer referencia a la respuesta de @Jon.
sin embargo, algo de ArrayList que puede interesarle, arrayList es no sincronizado pero Stack lo es. (subclase de Vector). Si tiene un requisito seguro para subprocesos, Stack puede ser mejor que ArrayList.
Aquí puedes ver las comentarios y valoraciones de los lectores
Acuérdate de que tienes la capacidad de interpretar si te fue de ayuda.