J’ai déterminé qu’un Java ArrayList.add
est similaire à un JavaScript Array.push
Je suis coincé sur la recherche de fonctions ArrayList
similaires à la suivante
Array.pop
Array.shift
Array.unshift
Je me penche vers ArrayList.remove[At]
Le dernier est le plus important pour ce sur quoi je travaille actuellement (Android). Merci d’ avance !
ArrayList
est unique dans ses normes de nommage. Voici les équivalences:
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
Notez que unshift
ne supprime pas un élément, mais en ajoute un à la liste. Notez également que les comportements en cascade sont probablement différents entre Java et JS, car ils ont chacun leurs propres normes.
J’ai été confronté à ce problème il y a quelque temps et j’ai trouvé java.util.LinkedList
est le meilleur pour mon cas. Il a plusieurs méthodes, avec des noms différents, mais elles font ce qui est nécessaire:
push() -> LinkedList.addLast(); // Or just LinkedList.add(); pop() -> LinkedList.pollLast(); shift() -> LinkedList.pollFirst(); unshift() -> LinkedList.addFirst();
peut-être que vous voulez regarder la classe java.util.Stack
. il a des méthodes push, pop. et implémenté l’interface de liste.
pour shift / unshift, vous pouvez référencer la réponse de Jon.
Cependant, quelque chose de ArrayList dont vous voudrez peut-être vous soucier, arrayList n’est pas synchronisé. mais Stack est. (sous-classe de Vector). Si vous avez des exigences de thread-safe, Stack peut être mieux que ArrayList.
La bibliothèque Underscore-java contient les méthodes push (values), pop (), shift () et unshift (valeurs).
Exemple de code:
import com.github.underscore.U: List ssortingngs = Arrays.asList("one", "two", " three"); List newSsortingngs = U.push(ssortingngs, "four", "five"); // ["one", " two", "three", " four", "five"] Ssortingng newPopSsortingng = U.pop(ssortingngs).fst(); // " three" Ssortingng newShiftSsortingng = U.shift(ssortingngs).fst(); // "one" List newUnshiftSsortingngs = U.unshift(ssortingngs, "four", "five"); // ["four", " five", "one", " two", "three"]