English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
java의 컬렉션 중 스택
요약:
스택(Stack)은 선입후출(FILO, First In Last Out) 원리를 가진 데이터 구조입니다. 스택은 벡터(VECTOR)를 상속받아 만들어졌으며, 벡터가 배열로 구현되어 있기 때문에 스택도 배열을 통해而非 연결리스트로 구현됩니다.
Stack와 Collection의 관계는 다음과 같습니다:
Java 기반8의 소스 코드:
public class Stack<E> extends Vector<E> { public Stack() {//빈 스택을 생성 } public E push(E item) {//스택에 추가 addElement(item); return item; } //스택에서 제거 public synchronized E pop() { E obj; int len = size(); obj = peek(); removeElementAt(len - 1); return obj; } //스택의 상단 요소를 반환하지만 스택에서는 제거하지 않음 public synchronized E peek() { int len = size(); if (len == 0) throw new EmptyStackException(); return elementAt(len - 1); } //스택이 비어 있는지 확인 public boolean empty() { return size() == 0; } //요소를 찾아 스택 깊이를 반환 public synchronized int search(Object o) { int i = lastIndexOf(o); if (i >= 0) { return size() - i; } return -1; } //시리얼 버전 번호 private static final long serialVersionUID = 1224463164541339165L; }
읽어주셔서 감사합니다. 여러분의 도움이 되길 바랍니다. 여러분의 사이트 지원에 감사합니다!