首页 > 编程语言 >33 | JAVA集合Stack(一种接口,不推荐使用)

33 | JAVA集合Stack(一种接口,不推荐使用)

时间:2022-09-02 09:00:48浏览次数:67  
标签:Deque 调用 JAVA peek 33 pop push Stack

Stack

栈(Stack)是一种后进先出(LIFO:Last In First Out)的数据结构。

Stack只有入栈和出栈的操作:

  • 把元素压栈:push(E)
  • 把栈顶的元素“弹出”:pop()
  • 取栈顶元素但不弹出:peek()

在Java中,我们用Deque可以实现Stack的功能:

  • 把元素压栈:push(E)/addFirst(E)
  • 把栈顶的元素“弹出”:pop()/removeFirst()
  • 取栈顶元素但不弹出:peek()/peekFirst()

当我们把Deque作为Stack使用时,注意只调用push()/pop()/peek()方法,不要调用addFirst()/removeFirst()/peekFirst()方法,这样代码更加清晰。

在Java中,我们用Deque可以实现Stack的功能,注意只调用push()/pop()/peek()方法,避免调用Deque的其他方法。

最后,不要使用遗留类Stack

联想:在 C++ 中 Stack 也仅仅是对 Deque 的封装,转而调用 Deque 的接口。

标签:Deque,调用,JAVA,peek,33,pop,push,Stack
From: https://www.cnblogs.com/mmxingye/p/16648566.html

相关文章

  • 27 | JAVA集合TreeMap(Map接口下除HashMap实现的另一种实现)
    TreeMap我们已经知道,HashMap是一种以空间换时间的映射表,它的实现原理决定了内部的Key是无序的,即遍历HashMap的Key时,其顺序是不可预测的(但每个Key都会遍历一次且仅遍历一次......
  • 28 | JAVA集合Properties专门用来存取配置文件(底层仍为哈希表)
    使用Properties配置文件的特点是,它的Key-Value一般都是String-String类型的,因此我们完全可以用Map<String,String>来表示它由于历史遗留原因,Properties内部本质上是一......
  • 29 | JAVA集合Set(一种接口,Map的同级映射)
    Set如果我们只需要存储不重复的key,并不需要存储映射的value,那么就可以使用Set。Set用于存储不重复的元素集合,它主要提供以下几个方法:将元素添加进Set<E>:booleanadd(E......
  • 30 | JAVA集合Queue(一种接口,实现为LinkedList)
    Queue队列(Queue)是一种经常使用的集合。Queue实际上是实现了一个先进先出(FIFO:FirstInFirstOut)的有序表。它和List的区别在于,List可以在任意位置添加和删除元素,而Queue只......
  • 21 | JAVA注解
    注解什么是注解(Annotation)?注解是放在Java源码的类、方法、字段、参数前的一种特殊“注释”:Java的注解可以分为三类:第一类是由编译器使用的注解,例如:@Override:让编译器检......
  • 22 | JAVA泛型基础
    初步认识ArrayList<>ArrayListArrayList一种模板:ArrayList<T>,代码如下:publicclassArrayList<T>{privateT[]array;privateintsize;publicvoida......
  • 23 | JAVA集合简介(C++容器)
    集合简介C++中将容器分成三类:顺序、关联、hash。容器在JAVA中映射为集合。等号左边(接口)等号右边(实现)ListArrayList/LinkedListSetHashSet/TreeSet......
  • 24 | JAVA集合之List(实际为接口)
    使用List在集合类中,List是最基础的一种集合:它是一种有序列表。List下的两种具体实现ArrayList和LinkedList,本别对应数组和链表。List的接口List<E>接口在末......
  • 25 | JAVA集合Map(实际为接口)
    使用MapMap这种键值(key-value)映射表的数据结构,作用就是能高效通过key快速查找value(元素)。Map也是一个接口,最常用的实现类是HashMap。containsKey(Kkey)方法put()ge......
  • 26 | JAVA集合EnumMap(Map的针对枚举类的一种特殊实现,接口仍为Map)
    EnumMap如果作为key的对象是enum类型,那么,还可以使用Java集合库提供的一种EnumMap,它在内部以一个非常紧凑的数组存储value,并且根据enum类型的key直接定位到内部数组的索引,......