Java'nın ArrayList.add
JavaScript'e benzer olduğunu belirledimArray.push
ArrayList
Aşağıdakine benzer işlevler bulmaya takıldım
Array.pop
Array.shift
Array.unshift
EğiliyorumArrayList.remove[At]
Yanıtlar:
ArrayList
adlandı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 unshift
gelmez 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.add
ve özellikle sorulduğunda pop
, shift
ve 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.LinkedList
durumum 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 List
bu beni karıştı neydi arayüzüne. Bu yöntemler , uyguladığı ancak uygulamadığı Deque
ve Queue
arayü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"]