티스토리 뷰
Goal
- Stack의 특징에 대해 알아본다.
- Java 코드를 통해 Stack을 구현한다.
1. Stack 특징
- Stack은 Frist in Last out(or LIFO) 구조.
- Java에서 implementation을 통해 코드를 제공하고 있지만 주로 ArrayList를 이용해 구현
1-1 ArrayList 구현 코드
- push(String data) : 스택에 data를 쌓는다.
- pop() : 스택의 data를 가장 나중에 들어온 순서대로 return한다.
package list.practice.fastcampus;
import java.util.ArrayList;
class MyStack {
private ArrayList<String> arrayStack = new ArrayList<String>();
public void push(String data) {
arrayStack.add(data);
}
public String pop() {
int len = arrayStack.size();
if (len == 0) {
System.out.println("스택이 비었습니다.");
return null;
}
return arrayStack.remove(len-1);
}
}
public class StackTest {
public static void main(String[] args) {
MyStack stack = new MyStack();
stack.push("A");
stack.push("B");
stack.push("C");
System.out.println(stack.pop());
}
}
* Java Stack implementation
-> https://www.techiedelight.com/stack-implementation-in-java/)
'Study > DataStructure' 카테고리의 다른 글
Set(Java) (0) | 2020.02.18 |
---|---|
Queue(Java) (0) | 2020.02.18 |
생활코딩 DataStructure -5 (0) | 2020.02.17 |
생활코딩 DataStructure -4 (0) | 2020.02.15 |
생활코딩 DataStructure -3 (0) | 2020.02.14 |
댓글
최근에 올라온 글
최근에 달린 댓글
TAG
- 20200423
- 20200330
- 20200415
- likelion
- 20200425
- 20200804
- 20200622
- 20200403
- 20200503
- 20200429
- 20200317
- 20200417
- 20200406
- 20200424
- chapter7
- 백준
- 20200624
- 20200427
- 20200502
- 20200420
- 20200504
- 20200512
- 생활코딩리눅스
- 20200319
- chapter8
- 20200428
- 20200510
- 20200421
- 20200413
- 20201204
- Total
- Today
- Yesterday