java8 集合之Stack详解及实例

 更新时间:2017年02月17日 08:54:18   投稿:lqh  
这篇文章主要介绍了java8 集合之Stack详解及实例的相关资料,需要的朋友可以参考下

java  集合之Stack

概要:

Stack是栈,特性是先进后出(FILO,First In Last Out)。Stack是继承于Vector(矢量队列),由于Vector是同数组实现的,Stack也是通过数组而非链表。

Stack和Collection关系如下:

基于Java8的源代码:

public class Stack<E> extends Vector<E> {

  public Stack() {//创建空栈
  }

  public E push(E item) {//入栈
    addElement(item);
    return item;
  }
  //出栈
  public synchronized E pop() {
    E    obj;
    int   len = size();
    obj = peek();
    removeElementAt(len - 1);
    return obj;
  }
  //返回栈顶元素,但并不出栈
  public synchronized E peek() {
    int   len = size();

    if (len == 0)
      throw new EmptyStackException();
    return elementAt(len - 1);
  }
  //判断栈是否为空
  public boolean empty() {
    return size() == 0;
  }
  //查找元素并返回栈深
  public synchronized int search(Object o) {
    int i = lastIndexOf(o);

    if (i >= 0) {
      return size() - i;
    }
    return -1;
  }

  //序列版本号
  private static final long serialVersionUID = 1224463164541339165L;
}

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

相关文章

  • LinkedBlockingQueue链式阻塞队列的使用和原理解析

    LinkedBlockingQueue链式阻塞队列的使用和原理解析

    这篇文章主要介绍了LinkedBlockingQueue链式阻塞队列的使用和原理解析,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-10-10
  • servlet监听器的学习使用(三)

    servlet监听器的学习使用(三)

    这篇文章主要为大家详细介绍了servlet监听器学习使用的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-09-09
  • maven中pom.xml详细介绍

    maven中pom.xml详细介绍

    最近在学习maven,这篇文章主要介绍了maven中pom.xml详细介绍,具有一定参考价值,需要的朋友可以了解下。
    2017-11-11
  • SpringBoot从配置文件中获取属性的四种方法总结

    SpringBoot从配置文件中获取属性的四种方法总结

    这篇文章主要介绍了SpringBoot从配置文件中获取属性的四种方法总结,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-02-02
  • Java 栈与队列超详细分析讲解

    Java 栈与队列超详细分析讲解

    这篇文章主要介绍了Java数据结构中的栈与队列,在Java的时候,对于栈与队列的应用需要熟练的掌握,这样才能够确保Java学习时候能够有扎实的基础能力。本文小编就来详细说说Java中的栈与队列,需要的朋友可以参考一下
    2022-04-04
  • Java调用Oracle存储过程详解

    Java调用Oracle存储过程详解

    这篇文章主要介绍了Java调用Oracle存储过程详解的相关资料,需要的朋友可以参考下
    2017-02-02
  • java中return语句的几种用法举例

    java中return语句的几种用法举例

    这篇文章主要介绍了Java中return语句的使用,包括有返回值类型的方法、提前返回、返回对象以及方法返回类型为void的情况,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2025-01-01
  • idea 找不到符号或找不到包的几种解决方法

    idea 找不到符号或找不到包的几种解决方法

    这篇文章主要介绍了idea 找不到符号或找不到包的几种解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-06-06
  • idea中自动生成Java类图和时序图的图文教程

    idea中自动生成Java类图和时序图的图文教程

    本文主要介绍了idea中自动生成Java类图和时序图的图文教程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07
  • java蓝桥杯历年真题及答案整理(小结)

    java蓝桥杯历年真题及答案整理(小结)

    这篇文章主要介绍了java蓝桥杯历年真题及答案整理(小结),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02

最新评论