Java'nın ArrayList.addJavaScript'e benzer olduğunu belirledimArray.push
ArrayListAşağıdakine benzer işlevler bulmaya takıldım
Array.popArray.shiftArray.unshiftEğiliyorumArrayList.remove[At]
Yanıtlar:
ArrayListadlandırma standartlarında benzersizdir. İşte denklikler:
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
Not unshiftgelmez kaldırmak yerine bir element, ancak ekler listeye tane. Ayrıca, her birinin kendi standartları olduğundan, köşe durum davranışlarının Java ve JS arasında büyük olasılıkla farklı olacağını unutmayın.
.push?
Array.push -> ArrayList.addve özellikle sorulduğunda pop, shiftve unshift. Bunu tekrar okurken .push, aynı zamanda daha fazla açıklama ekleyeceğim ve ekleyeceğim .
Bir süre önce bu sorunla karşı karşıya kalmıştım ve java.util.LinkedListdurumum için en iyisi olduğunu buldum . Farklı adlandırmalara sahip birkaç yöntemi vardır, ancak gerekeni yapıyorlar:
push() -> LinkedList.addLast(); // Or just LinkedList.add();
pop() -> LinkedList.pollLast();
shift() -> LinkedList.pollFirst();
unshift() -> LinkedList.addFirst();
LinkeListçok verimsiz olur yöntemler ekler ArrayList için Listbu beni karıştı neydi arayüzüne. Bu yöntemler , uyguladığı ancak uygulamadığı Dequeve Queuearayüzlerinden gelir ArrayList.
belki bir göz atmak istersiniz java.util.Stack. push, pop yöntemlerine sahiptir. ve List arayüzünü uyguladı.
shift / unshift için @ Jon'un cevabına başvurabilirsiniz.
ancak, umurumda isteyebilirsiniz ArrayList şey arrayList edilir değil senkronize. ama Stack öyle. (Vector alt sınıfı). İş parçacığı güvenli gereksiniminiz varsa, Stack ArrayList'ten daha iyi olabilir.
Jon'dan Harika Cevap .
Yine de tembelim ve yazmaktan nefret ediyorum, bu yüzden benim gibi olan tüm diğer insanlar için basit bir kes ve yapıştır örneği yarattım. Zevk almak!
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]
}
}
Alt çizgi-java kitaplığı push (değerler), pop (), shift () ve unshift (değerler) yöntemlerini içerir.
Kod örneği:
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"]