티스토리 뷰

Java/개념정리

[Java] Stack

통통푸딩 2021. 9. 23. 21:57
반응형

자바로 stack을 직접 구현해봤다.

스택은 자료구조로, LIFO(Last-in, First-out)의 특성을 가지고 있다.

출처 : https://velog.io/@sbinha/%EC%8A%A4%ED%83%9D-%ED%81%90

 

 

 

Stack.class

package stack;

public class Stack {
  private int[] arr;
  private int length;

  public Stack() {
    this.arr = new int[100];
    length = 0;
  }

  public int getLength() {
    return length;
  }

  public void setLength(int length) {
    this.length = length;
    if(length<0) this.length = 0;
  }

  public boolean isEmpty(){
    return length == 0;
  }

  public void push(int data){
    arr[length] = data;
    setLength(length+1);
  }

  public int pop(){
    if(isEmpty()) throw new NullPointerException();
    setLength(length-1);
    return arr[length];
  }
}

 

 

 

Main.class

package stack;

public class Main {
  public static void main(String[] args) {
    Stack stack = new Stack();
    stack.push(5);
    stack.pop();

    stack.push(5);
    stack.push(2);

    stack.pop();

    stack.push(7);
    stack.push(10);
    stack.push(11);

    stack.pop();

    while(!stack.isEmpty()){
      System.out.println(stack.pop());
    }
  }
}

 

 

결과는 다음과 같다.

반응형

'Java > 개념정리' 카테고리의 다른 글

[Java] 상속  (2) 2021.09.27
[Java] Queue  (0) 2021.09.23
[ Java ] LinkedList  (0) 2021.09.23
[Java] 데이터 타입, 변수, 배열  (0) 2021.09.19
[ Java ] JVM란? 자바의 실행 원리 알아보기  (0) 2021.09.14
댓글
반응형
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday