在堆栈中获取调用 Java

Get call in stack Java

   public void push(E e)
  {
    list.add(e);
   }
public E pop()
{
    list.remove(list.size()-1);
}
public E peek()
{

}

public boolean empty()
{
   if ( list.size()== 0)
   {
       return false;
   }
   else
   {
       return true;
   }
}

这是我的老师为了理解堆栈而给我的驱动程序代码的一部分。我了解堆栈的每个部分的作用,我只是不了解如何根据这段代码实现堆栈。我主要需要有关 peek 方法的帮助,但如果您看到其他问题,请告诉我。我将不胜感激。

public E peek(){
  if(empty()) return null;

  int top = list.size()-1;
  return list.get(top);
}

AND empty方法可以简化为:

public boolean empty(){
  return  list.size() == 0;
}

public boolean empty(){
  return  list.isEmpty();
}

AND pop 方法应该在堆栈为空时抛出 NoSuchElementException

public E pop(){
  if(empty()) throw new NoSuchElementException();

  int top = list.size()-1;
  return list.remove(top);
}