[JAVA] Stack<>();

2021. 5. 6. 17:12JAVA

스택(Stack) 이란?

사전적 의미로는 '쌓다', '더미'라는 뜻이 있습니다. 
스택을 흔히 후입선출(선출후입), LIFO 라고 부르는데 쉽게 설명하자면 
아래가 막힌 어떤 물체를 생각하시면 됩니다. 
쓰레기통, 마트용 음료수 진열대 등 이러한 것이 스택 구조 입니다. 
즉 한 쪽 끝에서만 자료(데이터)를 넣고 뺄 수 있는 형식의 자료 구조 입니다. 
스택을 실제 개발환경에서 사용 하는 경우는 인터넷 브라우저의 
'뒤로가기', '앞으로가기' 버튼을 생각 하시면 됩니다. 
따라서 Stack은 데이터를 쌓는 형식으로 저장하는데 
따라서 조회, 추가, 삭제 모두 가장 위에 있는 
즉 가장 최근의 값에서 이루어 진다. 
스택 구조에서 가장 상단에 있는 데이터를 Top이라고 한다.

<선언>
Stack<Element> stack = new Stack<>();

<함수>
push(); // 데이터 추가
pop(); // 최근에 추가된(Top) 데이터 삭제
peek(); // 최근에 추가된(Top) 데이터 조회
isEmpty(); // stack의 값이 비었는지 확인, 비었으면 true, 아니면 false
search(); // 인자값으로 받은 데이터의 위치 반환

https://velog.io/@lshjh4848/Java-%EC%8A%A4%ED%83%9DStack-%ED%81%B4%EB%9E%98%EC%8A%A4-%EC%A0%95%EB%A6%AC