[Java]Stack类

Java Stack类顾名思义,实现堆栈。具体方法如下:

    import java.util.Stack;  

    public class StackTest {  

        public static void main(String[] args) {
            Stack<String> stack = new Stack<String>();
            System.out.println("now the stack is " + isEmpty(stack));
            stack.push("1");
            stack.push("2");
            stack.push("3");
            stack.push("4");
            stack.push("5");
            System.out.println("now the stack is " + isEmpty(stack));
            System.out.println(stack.peek());
            System.out.println(stack.pop());
            System.out.println(stack.pop());
            System.out.println(stack.search("2"));
        }
        public static String isEmpty(Stack<String> stack) {
            return stack.empty() ? "empty" : "not empty";
        }
    }  
时间: 2024-07-28 12:59:57

[Java]Stack类的相关文章

【面试算法题】Java Stack 类的使用

Java Stack 类栈是Vector的一个子类,它实现了一个标准的后进先出的栈.堆栈只定义了默认构造函数,用来创建一个空栈. 常用方法1 boolean empty() 测试堆栈是否为空. 2 Object peek( )查看堆栈顶部的对象,但不从堆栈中移除它. 3 Object pop( )移除堆栈顶部的对象,并作为此函数的值返回该对象. 4 Object push(Object element)把项压入堆栈顶部. 5 int search(Object element)返回对象在堆栈中的

数据结构——Java Stack 类

定义 栈是Vector的一个子类,它实现了一个标准的后进先出的栈.堆栈只定义了默认构造函数,用来创建一个空栈. 堆栈除了包括由Vector定义的所有方法,也定义了自己的一些方法. 图例 在下面图片中可以看到进栈(push)和出栈(pop)的过程.简单来说,栈只有一个入口(出口),所以先进后出(后进先出)就不难理解. 常用方法 序号 方法名 描述 1 Object push() 把项压入堆栈顶部 2 Object pop() 移除堆栈顶部的对象,并作为此函数的值返回该对象 3 Object pee

java.util.Stack类中的peek()方法

java.util.stack类中常用的几个方法:isEmpty(),add(),remove(),contains()等各种方法都不难,但需要注意的是peek()这个方法. peek()查看栈顶的对象而不移除它. import java.util.Stack; public class MyStack1 { private Stack<Integer> stackData; private Stack<Integer> stackMin; public MyStack1(){ t

恶补java(十一)-------Stack类的使用

package com.gc.Stack; /** * java中stack的使用方法,堆栈是一种"后进先出"(LIFO)的数据结构,只能在一端进行插入(称为"压栈")或删除(称为"出栈")数据的操作. * Java中,使用java.util.Stack类的构造方法创建对象 * public class Stack extends vector * 构造方法:public Stack()创建一个空Stack * 1.public push(ite

Java的Stack类实现List接口真的是个笑话吗

今天在网上闲逛时看到了这样一个言论,说“Java的Stack类实现List接口的设计是个笑话”. 当然作者这篇文章的重点不是这个,原本我也只是一笑置之,然而看评论里居然还有人附和,说“Java那种Stack的设计作为笑话,差不多可以算公案了”,我就有点不淡定了,为什么.什么时候“作为笑话”的并且“差不多可以算公案”了呢? 因此我决定写一篇文章来谈谈这个问题. 接口是什么 狭义地讲,接口就是一个类所定义的方法(方法名.参数.返回值).一个类提供了Foo方法,其他类就可以调用它.广义上讲,接口可以理

java.util.Stack类简介

Stack是一个后进先出(last in first out,LIFO)的堆栈,在Vector类的基础上扩展5个方法而来 Deque(双端队列)比起Stack具有更好的完整性和一致性,应该被优先使用 E push(E item)      把项压入堆栈顶部. E pop()        移除堆栈顶部的对象,并作为此函数的值返回该对象. E peek()          查看堆栈顶部的对象,但不从堆栈中移除它. boolean empty()         测试堆栈是否为空. int sea

Java基础之多线程Stack类

使用Stack类实现生产者与消费者 1 package com.imooc.demo; 2 3 import java.util.Random; 4 import java.util.Stack; 5 //生产者 6 public class StackOOPS implements Runnable{ 7 8 private Stack<Integer> stack; 9 public StackOOPS(Stack<Integer> stack){ 10 this.stack

Java中的栈:java.util.Stack类

public class Stack<E>extends Vector<E>Stack 类表示后进先出(LIFO)的对象堆栈.它通过五个操作对类 Vector 进行了扩展 ,允许将向量视为堆栈.它提供了通常的 push 和 pop 操作,以及取堆栈顶点的 peek 方法.测试堆栈是否为空的 empty 方法.在堆栈中查找项并确定到堆栈顶距离的 search 方法.  方法 使用说明 boolean empty() 测试堆栈是否为空 E peek() 查看堆栈顶部的对象,但不从堆栈移

解决内存泄漏更加清楚的认识到Java匿名类与外部类的关系

1.事件起因 在做项目的时候,通过Android Studio的Memory Monitor窗口观察程序内存使用情况,发现当程序退出的时候,有一部分应该释放掉的内存没有释放掉,知道程序中应该有内存泄漏了.为了发现程序中的内存泄漏,我切换了IDE工具到Eclipse,里面安装了内存泄漏的分析工具MAT,具体怎么用MAT分析内存泄漏可以自己Google,我把我自己找到内存泄漏的地方贴出来 从上图中可以看到,有24M左右的内存被mView(其实它真正是一个Fragment)这个变量持有,导致Java垃