Ik heb vastgesteld dat een Java ArrayList.add
vergelijkbaar is met een JavaScript Array.push
Ik loop vast bij het vinden van ArrayList
-functies die vergelijkbaar zijn met de volgende
Array.pop
Array.shift
Array.unshift
Ik neig naarArrayList.remove[At]
Antwoord 1, autoriteit 100%
ArrayList
is uniek in zijn naamgevingsnormen. Dit zijn de equivalenten:
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
Merk op dat unshift
een element niet verwijdert, maar in plaats daarvan een element toevoegtaan de lijst. Houd er ook rekening mee dat het gedrag van hoekgevallen waarschijnlijk anders is tussen Java en JS, omdat ze elk hun eigen standaarden hebben.
Antwoord 2, autoriteit 16%
Ik had een tijdje geleden met dit probleem te maken en vond java.util.LinkedList
is het beste voor mijn geval. Het heeft verschillende methoden, met verschillende namen, maar ze doen wat nodig is:
push() -> LinkedList.addLast(); // Or just LinkedList.add();
pop() -> LinkedList.pollLast();
shift() -> LinkedList.pollFirst();
unshift() -> LinkedList.addFirst();
Antwoord 3, Autoriteit 10%
Misschien wil je een kijkje nemen java.util.Stack
klasse.
Het heeft duw-, popmethoden. en geïmplementeerde lijstinterface.
Voor shift / unshift, kunt u referentie @ JON’s antwoord.
Er is echter misschien iets van arrayclist waar u om geeft, ArrayList is niet gesynchroniseerd. Maar stapel is. (subklasse van vector). Als u draadveilige vereiste heeft, kan Stack beter zijn dan arraylist.
Antwoord 4, Autoriteit 2%
Groot antwoord door jon .
Ik ben echter lui en ik haat het typen, dus ik heb een eenvoudig gesneden en pasta-voorbeeld voor alle andere mensen die zijn zoals ik. Geniet!
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<String> animals = new ArrayList<>();
animals.add("Lion");
animals.add("Tiger");
animals.add("Cat");
animals.add("Dog");
System.out.println(animals); // [Lion, Tiger, Cat, Dog]
// add() -> push(): Add items to the end of an array
animals.add("Elephant");
System.out.println(animals); // [Lion, Tiger, Cat, Dog, Elephant]
// remove() -> pop(): Remove an item from the end of an array
animals.remove(animals.size() - 1);
System.out.println(animals); // [Lion, Tiger, Cat, Dog]
// add(0,"xyz") -> unshift(): Add items to the beginning of an array
animals.add(0, "Penguin");
System.out.println(animals); // [Penguin, Lion, Tiger, Cat, Dog]
// remove(0) -> shift(): Remove an item from the beginning of an array
animals.remove(0);
System.out.println(animals); // [Lion, Tiger, Cat, Dog]
}
}
Antwoord 5
Underscore-javabibliotheek bevat methoden push(values), pop(), shift( ) en unshift(waarden).
Codevoorbeeld:
import com.github.underscore.U:
List<String> strings = Arrays.asList("one", "two", " three");
List<String> newStrings = U.push(strings, "four", "five");
// ["one", " two", "three", " four", "five"]
String newPopString = U.pop(strings).fst();
// " three"
String newShiftString = U.shift(strings).fst();
// "one"
List<String> newUnshiftStrings = U.unshift(strings, "four", "five");
// ["four", " five", "one", " two", "three"]