Stack & Queue 구현

Stack

push 스택에 데이터를 추가

public void push(Integer data) {
      listStack.add(data);
  }

pop 가장 나중에 추가된 데이터를 스택에서 삭제하고 삭제한 데이터를 리턴

public Integer pop() {
     if(listStack.size() == 0) {
      return null;
    }else {
      return listStack.remove(listStack.size() - 1);
    }
  }

size 스택에 추가된 데이터의 크기를 리턴

   public int size() {
     return listStack.size();
  }

peek 가장 나중에 추가된 데이터를 리턴

  public Integer peek() {
     if(listStack.size() == 0) {
      return null;
    }else {
      return listStack.get(listStack.size() - 1);
    }
  }

show 현재 스택에 포함되어 있는 모든 데이터를 String 타입으로 변환하여 리턴

   public String show() {
    return listStack.toString();
  }

clear stack에 들어있는 모든 데이터를 삭제

public void clear() { listStack.clear(); }
}

Queue

add 큐에 데이터를 추가

public void add(Integer data) {
    listQueue.add(data);
  }

poll 가장 먼저 추가된 데이터를 큐에서 삭제하고 삭제한 데이터를 리턴

   public Integer poll() {
    if(listQueue.size() == 0) {
      return null;
    }else {
    return listQueue.remove(0);
    }
  }

size 큐에 추가된 데이터의 크기를 리턴

  public int size() {
    return listQueue.size();
  }

peek 큐에 가장 먼저 추가된 데이터를 리턴

  public Integer peek() {
    if(listQueue.size() == 0) {
      return null;
    }else {
      return listQueue.get(0);
    }
  }

show 큐에 들어있는 모든 데이터를 String 타입으로 변환하여 리턴

   public String show() {
    return listQueue.toString();
  }

clear 큐에 들어있는 모든 데이터를 삭제

   public void clear() {
		listQueue.clear();
	}
}