며칠 전에 백준 알고리즘 문제를 풀면서 자바 스택 클래스에 대해서 알게 되었는데요, 오늘은 자바 스택 클래스에 대해서 간략히 알아보려 합니다.
자바 스택 클래스의 생성은 다음과 같이 할 수 있습니다.
Stack<Element> stack = new Stack<>();
자바 클래스에서 push, pop 등의 기본적인 메서드는 아래와 같이 구현되어있습니다.
public void push(Element data);//스택에 push(값 저장)
public Element pop();//스택에 pop(최근에 저장한 값 꺼내오기)
public Element peek();//최근에 저장한 값 참조(값이 스택에서 빠져나오지 않고, 참조만 함)
public boolean empty(); //스택에 비어있는지 참조
public int search(Element data); //data를 보관되어 있는 인덱스 반환(맨 위에 있는 요소가 1번)
여기서 Element는 자료형으로 Integer, Long, String 등의 값들이 들어갈 수 있으니 상황에 맞춰서 쓰시면 됩니다.
Stack 클래스를 이용하여 간단한 예시 코드를 작성해보겠습니다.
import java.util.*;
import java.io.*;
public class Main {
public static void main(String args[]) throws Exception {
Stack<Integer> stack=new Stack<>();
if(stack.isEmpty()) System.out.println("스택이 비어있습니다.");
else System.out.println("스택이 차 있습니다.");
stack.push(1);
stack.push(2);
stack.push(3);
System.out.println(stack.pop());
stack.push(4);
System.out.println(stack.peek());
System.out.println("4의 위치: "+stack.search(4));
if(stack.isEmpty()) System.out.println("스택이 비어있습니다.");
else System.out.println("스택이 차 있습니다.");
}
}
스택이 비어있습니다.
3
4
4의 위치: 2
스택이 차 있습니다.
'컴퓨터 언어 > JAVA' 카테고리의 다른 글
[JAVA] 덱(Deque) 클래스 (0) | 2020.07.31 |
---|---|
[JAVA] 큐(Queue) 클래스 (0) | 2020.07.31 |
[JAVA] 정수형(int)을 문자열(String)로 변환, 문자열(String)을 정수형(int)로 변환 (0) | 2020.07.02 |
[JAVA] 쓰레드(Thread) (3) - 데몬 쓰레드(Daemon Thread) (0) | 2020.07.02 |
[JAVA] 쓰레드(Thread) (2) (0) | 2020.06.18 |