首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >调用堆栈Java

调用堆栈Java
EN

Stack Overflow用户
提问于 2017-04-16 18:52:46
回答 1查看 67关注 0票数 1
代码语言:javascript
运行
复制
   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方法,但如果你看到其他问题,请告诉我。我很感谢你的帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-16 18:56:07

代码语言:javascript
运行
复制
public E peek(){
  if(empty()) return null;

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

empty方法可以简化为:

代码语言:javascript
运行
复制
public boolean empty(){
  return  list.size() == 0;
}

代码语言:javascript
运行
复制
public boolean empty(){
  return  list.isEmpty();
}

当堆栈为空时, pop方法应该抛出NoSuchElementException

代码语言:javascript
运行
复制
public E pop(){
  if(empty()) throw new NoSuchElementException();

  int top = list.size()-1;
  return list.remove(top);
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43440858

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档