자바 하우투 ArrayList 푸시, 팝, 시프트 및 시프트 해제
Java ArrayList.add
가 JavaScript와 유사하다는 것을 확인했습니다.Array.push
나는 ArrayList
다음과 유사한 기능 을 찾는 데 붙어 있습니다.
Array.pop
Array.shift
Array.unshift
나는쪽으로 기울고있다ArrayList.remove[At]
ArrayList
명명 표준이 독특합니다. 등가는 다음과 같습니다.
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
참고 unshift
하지 않습니다 제거 하는 대신 요소를,하지만 추가 목록에 하나를. 또한 코너 케이스 동작은 각각 고유 한 표준을 가지고 있기 때문에 Java와 JS간에 다를 수 있습니다.
나는 얼마 전에이 문제에 직면했으며 java.util.LinkedList
내 경우에 가장 적합 하다는 것을 알았습니다 . 이름이 다른 여러 방법이 있지만 필요한 작업을 수행하고 있습니다.
push() -> LinkedList.addLast(); // Or just LinkedList.add();
pop() -> LinkedList.pollLast();
shift() -> LinkedList.pollFirst();
unshift() -> LinkedList.addFirst();
룩 java.util.Stack
클래스 를 듣고 싶을 수도 있습니다 . 푸시, 팝 메소드가 있습니다. 그리고 구현 된 List 인터페이스.
shift / unshift의 경우 @Jon의 답변을 참조 할 수 있습니다.
그러나 ArrayList에 관심을 가질 수 있습니다. arrayList는 동기화 되지 않습니다 . 하지만 스택입니다. (Vector의 하위 클래스). 스레드 안전 요구 사항이있는 경우 Stack이 ArrayList보다 나을 수 있습니다.
Underscore-java 라이브러리에는 push (values), pop (), shift () 및 unshift (values) 메소드가 포함되어 있습니다.
코드 예 :
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"]
Jon의 훌륭한 답변 입니다.
나는 게으르고 타이핑을 싫어하기 때문에 나와 같은 다른 모든 사람들을 위해 간단한 잘라 내기 및 붙여 넣기 예제를 만들었습니다. 즐겨!
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]
}
}
참고 URL : https://stackoverflow.com/questions/8452672/java-howto-arraylist-push-pop-shift-and-unshift
'Nice programing' 카테고리의 다른 글
엔티티 프레임 워크가 조인을 남겼습니다. (0) | 2020.10.23 |
---|---|
R에서 밀도 플롯을 오버레이하는 방법은 무엇입니까? (0) | 2020.10.23 |
iOS를 통해 애니메이션 GIF를 만들고 내보내시겠습니까? (0) | 2020.10.23 |
ManyRelatedManager 개체는 반복 할 수 없습니다. (0) | 2020.10.23 |
Grails (현재)는 그만한 가치가 있습니까? (0) | 2020.10.23 |