Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- SpringBoot
- Android
- Greedy
- JDBC
- jpa
- Exception
- 김영한
- Spring Boot
- Thymeleaf
- AOP
- transaction
- 스프링 핵심 원리
- http
- 알고리즘
- 자바
- db
- spring
- 백준
- Servlet
- pointcut
- Proxy
- QueryDSL
- 인프런
- java
- kotlin
- 스프링 핵심 기능
- 스프링
- 그리디
- JPQL
- springdatajpa
Archives
- Today
- Total
개발자되기 프로젝트
Stack 본문
1. 맨 마지막(top) 위치에서만 자료를 추가, 삭제, 꺼내올 수 있다.
중간에 있는 자료를 꺼낼 수 없음!
data를 블럭 쌓는 것 과 같이 하나씩 쌓아 올린다고 보면 된다.
2. Last In First out
3. 가장 최근의 자료를 찾아오는데 사용할 수 있음.
게임으로 예를 들면 가장 최근의 세이브를 불러오는 것과 유사.
4. 함수의 메모리는 호출 순서에 따른 stack 구조.
5. jdk Class : Stack으로 사용하면 된다.
6. Stack 이 제공하는 method
- push() : item을 stack의 top에 추가
- pop() : top에 있는 item을 꺼내온다.
- peek() : top에 있는 item을 보여준다.
- search() : 특정 item이 stack 어디에 있는지 알려준다.
- empty() : stack이 비었는지 확인.
7. Stack 생성방법
Stack<데이터 타입> stack = new Stack<>() -> 빈 stack 생성
8. 코드 및 예제
public static void main(String[] args) {
Stack<Integer> stack = new Stack<>();
System.out.println("push method");
stack.push(0);
System.out.println("Stack : " + stack.toString());
stack.push(1);
System.out.println("Stack : " + stack.toString());
stack.push(2);
System.out.println("Stack : " + stack.toString());
stack.push(3);
System.out.println("Stack : " + stack.toString());
stack.push(4);
System.out.println("Stack : " + stack.toString());
stack.push(5);
System.out.println("Stack : " + stack.toString());
System.out.println("pop method");
stack.pop();
System.out.println("Stack : " + stack.toString());
stack.pop();
System.out.println("Stack : " + stack.toString());
System.out.println("peek method");
System.out.println("Stack : " + stack.toString());
System.out.println("peek : " + stack.peek());
System.out.println("empty method");
System.out.println("empty? : " + stack.empty());
System.out.println("search mehtod");
System.out.println("2가 어디있어 : " + stack.search(2));
System.out.println("Stack : " + stack.toString());
}
데이터를 하나씩 쌓아 올리고, 위에서부터 빼내오는 것을 확인할 수 있다.
push method
Stack : [0]
Stack : [0, 1]
Stack : [0, 1, 2]
Stack : [0, 1, 2, 3]
Stack : [0, 1, 2, 3, 4]
Stack : [0, 1, 2, 3, 4, 5]
pop method
Stack : [0, 1, 2, 3, 4]
Stack : [0, 1, 2, 3]
peek method
Stack : [0, 1, 2, 3]
peek : 3
empty method
empty? : false
search mehtod
2가 어디있어 : 2
Stack : [0, 1, 2, 3]
'Java > 자료구조' 카테고리의 다른 글
자료구조-비선형 (0) | 2021.10.24 |
---|---|
자료구조 - 선형 (0) | 2021.10.23 |
Map, HashMap (0) | 2021.07.22 |
Queue (0) | 2021.06.06 |
Linked List :연결 리스트 (0) | 2021.06.06 |
Comments