티스토리 뷰

Study/DataStructure

Stack(Java)

GrapeMilk 2020. 2. 18. 09:50

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
댓글