精华内容
下载资源
问答
  • 2021-03-01 08:50:42

    堆栈(stack)是线性表的一种,只能在该线性表的表尾进行插入、获取或删除的操作。该线性表具有LIFO(后进先出)的特点,那么Java中如何实现这一功能呢,呵呵呵,Java已经为我们提供了API——Stack,Stack类继承Vector类。下面通过一个例子来认识一下该API:

    import java.util.Stack;

    public class TestStack {

    public static void main(String[] args) {

    Stack stack = new Stack();

    stack.push("a");//将数据压入堆栈顶部,其作用于下面addElement一样

    stack.addElement("b");

    stack.push("c");

    stack.push("d");

    stack.push("e");

    if(!stack.empty()){//判断堆栈是否为空

    System.out.println(stack.peek());//输出e。获取堆栈顶部的对象(Vector 对象的最后一项),但不从堆栈中移除该对象,如果堆栈为空,则抛出EmptyStackException异常

    System.out.println(stack.pop()); //输出e。获取堆栈顶部的对象(Vector 对象的最后一项),并从堆栈顶部移除该对象,如果堆栈为空,则抛出EmptyStackException异常

    System.out.println(stack.pop()); //输出d。

    System.out.println(stack.search("c"));//获取指定对象在堆栈中的位置,以 1 为基数,如果没有则返回-1

    }

    }

    }

    原文:http://blog.csdn.net/gaohuanjie/article/details/45075261

    更多相关内容
  • 下面小编就为大家带来一篇java和队列的实现和API的用法(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • java 对象api和队列api的使用

    千次阅读 2018-07-23 21:54:06
    的实现,有两个方法:一个是用java本身的集合类型Stack类型;另一个是借用LinkedList来间接实现Stack。 1.Stack实现 有关Stack的具体知识可以参考:http://www.cnblogs.com/skywang12345/p/3308852.html  直接...

     一、栈的实现

    栈的实现,有两个方法:一个是用java本身的集合类型Stack类型;另一个是借用LinkedList来间接实现Stack。

    1.Stack实现

    有关Stack的具体知识可以参考:http://www.cnblogs.com/skywang12345/p/3308852.html  

    直接用Stack来实现非常方便,常用的api函数如下:

     

           boolean             isEmpty() // 判断当前栈是否为空
    synchronized E             peek() //获得当前栈顶元素
    synchronized E             pop() //获得当前栈顶元素并删除
                 E             push(E object) //将元素加入栈顶
    synchronized int           search(Object o)  //查找元素在栈中的位置,由栈低向栈顶方向数

    2.LinkedList实现

    LinkedList 是一个继承于AbstractSequentialList的双向链表。它也可以被当作堆栈、队列或双端队列进行操作。
    LinkedList 实现 List 接口,能对它进行队列操作。
    LinkedList 实现 Deque 接口,即能将LinkedList当作双端队列使用。

    当LinkedList被当做栈来使用时,常用api及对应关系如下:

     

    栈方法        等效方法
    push(e)      addFirst(e)
    pop()        removeFirst()
    peek()       peekFirst()
    	     isEmpty()  //判断是否为空

     

     

    二、队列的实现

    java中虽然有Queue接口,单java并没有给出具体的队列实现类,而Java中让LinkedList类实现了Queue接口,所以使用队列的时候,一般采用LinkedList。因为LinkedList是双向链表,可以很方便的实现队列的所有功能。

    Queue使用时要尽量避免Collection的add()和remove()方法,而是要使用offer()来加入元素,使用poll()来获取并移出元素。它们的优点是通过返回值可以判断成功与否,add()和remove()方法在失败的时候会抛出异常。 如果要使用前端而不移出该元素,使用
    element()或者peek()方法。
     

    java中定义队列 一般这样定义: Queue<E> queue = new LinkedList<E>();

    当采用LinkedList来实现时,api的使用和对用关系如下:

     

    队列方法       等效方法
    offer(e)      offer(e)/offerLast(e)  //进队列,将元素加入队列末尾
    poll()        poll()/pollFirst()  //获取队列头的元素并移除
    peek()        peek()/peekFirst()  //获取队列头的元素
    	      isEmpty() //判断是否为空
    展开全文
  • java堆栈队列api

    2022-05-06 22:45:56
    java堆栈队列api栈队列链表实现 Stack<Integer> stack = new Stack<>(); // 新建堆栈 stack.push(1); // 向栈顶压入元素 stack.pop(); // 从中弹出栈顶元素 stack.peek(); // 查看栈顶元素不弹出 ...

    java堆栈队列api


    Stack<Integer> stack = new Stack<>();	// 新建堆栈
    stack.push(1);	// 向栈顶压入元素
    stack.pop();	// 从栈中弹出栈顶元素
    stack.peek();	// 查看栈顶元素不弹出
    stack.empty();	// 判断是否是空栈
    stack.search(2);	// 查找某个值是否在栈中,如果存在,返回对象在此堆栈上的从1开始的位置。栈顶元素为对象时,返回1。若不存在,返回-1。
    

    队列链表实现

    Queue<String> queue = new LinkedList<String>();	// 创建队列对象
    queue.offer("a");	// 添加元素
    queue.offer("b");
    queue.offer("c");
    System.out.println(queue.poll());	// 返回第一个元素,并在队列中删除
    System.out.println(queue.element());	// 返回第一个元素
    System.out.println(queue.peek());	// 返回第一个元素
    
    展开全文
  • java和队列的实现和API的用法

    千次阅读 2018-07-04 22:42:36
    java中要实现和队列,需要用到java集合的相关知识,特别是Stack、LinkedList等相关集合类型。...1.Stack实现直接用Stack来实现非常方便,常用的api函数如下:boolean isEmpty() // 判断当前是否为空syn...

    在java中要实现栈和队列,需要用到java集合的相关知识,特别是Stack、LinkedList等相关集合类型。

    一、栈的实现

    栈的实现,有两个方法:一个是用java本身的集合类型Stack类型;另一个是借用LinkedList来间接实现Stack。

    1.Stack实现

    官方建议:使用栈尽量使用ArrayDeque:

    Deque接口及其实现提供了LIFO堆栈操作的完整和更

    Deque<Integer> stack=new ArrayDeque<Integer>();

    直接用Stack来实现非常方便,常用的api函数如下:

    boolean        isEmpty() // 判断当前栈是否为空
    synchronized E        peek() //获得当前栈顶元素
    synchronized E        pop() //获得当前栈顶元素并删除
                 E        push(E object) //将元素加入栈顶
    synchronized int      search(Object o)  //查找元素在栈中的位置,由栈低向栈顶方向数2.LinkedList实现
    LinkedList 是一个继承于AbstractSequentialList的双向链表。它也可以被当作堆栈、队列或双端队列进行操作。
    LinkedList 实现 List 接口,能对它进行队列操作。

    实现Deque接口,即能将LinkedList当作双端队列使用。

    当LinkedList被当做栈来使用时,常用api及对应关系如下:

    栈方法        等效方法
    push(e)      addFirst(e)
    pop()        removeFirst()
    peek()       peekFirst()      isEmpty()  //判断是否为空

    二、队列的实现

    java中虽然有Queue接口,单java并没有给出具体的队列实现类,而Java中让LinkedList类实现了Queue接口,所以使用队列的时候,一般采用LinkedList。因为LinkedList是双向链表,可以很方便的实现队列的所有功能。

    Queue使用时要尽量避免Collection的add()和remove()方法,而是要使用offer()来加入元素,使用poll()来获取并移出元素。它们的优点是通过返回值可以判断成功与否,add()和remove()方法在失败的时候会抛出异常。 如果要使用前端而不移出该元素,使用element()或者peek()方法。

    java中定义队列 一般这样定义: Queue<E> queue = new LinkedList<E>();

    当采用LinkedList来实现时,api的使用和对用关系如下:

    队列方法       等效方法
    offer(e)      offer(e)/offerLast(e)  //进队列,将元素加入队列末尾
    poll()        poll()/pollFirst()  //获取队列头的元素并移除
    peek()        peek()/peekFirst()  //获取队列头的元素       isEmpty() //判断是否为空

    Queue <Integer> queue = new LinkedList <Integer>();
    queue.offer(1);
    queue.offer(2);
    queue.offer(3);
    System.out.println(queue);
    System.out.println(queue.peek());
    queue.poll();
    System.out.println(queue);
    		

    双向队列

    	Deque <Integer> deque = new LinkedList <Integer>();
    	deque.offer(1);
    	deque.offer(2);
    	deque.offerFirst(3);
    	System.out.println(deque);
    	deque.pollLast();
    	System.out.println(deque);
    	    



    展开全文
  • Java | Java常用API方法总结

    千次阅读 2021-08-29 16:51:09
    个人总结的Java常用API手册汇总常用APIJavaAPI1 java.langStringStringBuilderIntegerparseXxxMathObjectSystemThrowableThreadRunnable/接口Class\*reflect反射相关FieldConstructor\MethodClassLoader2 java....
  • Java的Stack常用API

    2021-10-01 17:03:20
    API 功能 push() 将元素压入到栈顶 pop() 取出栈顶元素 peek() 查看栈顶元素,但不从中移除它 isEmpty() 判断集合是否为空 size() 获取集合中元素的数量 toArray() 将转换成数组
  • Java SE编程入门教程 java 常用API(共22页).pptx Java SE编程入门教程 javaGUI编程快速入门(1)(共82页).pptx Java SE编程入门教程 java包装器(共9页).pptx Java SE编程入门教程 java反射机制(共16页).pptx ...
  • java-rest-api

    2021-03-03 11:47:28
    Java Rest API 描述 这是一个简单的应用程序,允许用户输入2个数字和一个操作。 在后端计算结果。 数字,运算和结果可作为REST API使用。 目录 安装 在根目录中运行java -version和mvn -version ,以确保在计算机上...
  • java中的和队列的基础API

    千次阅读 2016-05-06 19:41:23
    java 中的队列和 一:队列 (1) -->队列是常用的数据结构,可以看作特殊的线性表,队列限制了线性表的访问方式:只能从线性表的一段(offer)元素,从另一段去除(poll)元素- --->队列:先进先出 --->JDK提供了...
  • java api1.6

    2019-03-04 19:47:31
    java api1.6 Java API通过支持平台无关性和安全性,使得Java适应于网络应用。Java API是运行库的集合,它提供了一套访问主机系统资源的标准方法。  运行Java程序时,虚拟机装载程序的class文件所使用的Java API ...
  • java中的

    千次阅读 2022-01-16 12:15:31
    本文阐述了对数据结构的理解,展示了继承关系,针对Stack被弃置的问题展开了探讨,具体解释了被弃置的原因,如何替代,使用队列实现的算法以及在面试中如何看待Stack。
  • Java如何定义

    千次阅读 2022-03-31 22:26:47
    Java中两种定义的方式。
  • java技术梳理

    千次阅读 2022-03-26 17:19:23
    整理的java技术知识体系
  • JAVA常用API整理

    万次阅读 多人点赞 2018-10-22 23:34:42
    一、JAVA常用API java.lang.Math 提供sin, cos, tan, exp, log, log10 等类方法,PI和E等类字段 java.lang.String(StringBuilder线程不安全,StringBuffer线程安全) char charAt(int index) 返回给定位置的...
  • JVM进阶(一):初识 JAVA

    万次阅读 多人点赞 2017-01-08 14:12:50
    JVM进阶(一)——初识JAVA栈  若想使自己编写的Java程序高效运行,以及进行正确、高效的异常诊断,JVM是不得不谈的一个话题。本”JVM进阶“专栏大部分内容均来源于经典书籍《深入理解Java虚拟机》。   下面...
  • java8集合源码1. Spring RESTful API 使用Spring RESTful ( Self-descriptive , HATEOAS ) API http://localhost:8080/docs/index.html 使用 ascii-docs 文档信息 1.1. 技术 Spring boot Spring framework Spring ...
  • java技术必学有哪些?

    千次阅读 2021-03-07 05:42:05
    想要高效率的学习java,跟着当前流行的技术学习是再好不过了,这样就能时时站在技术前端,下面就来了解下java学习必定的技术。1、语法:必须比较熟悉,在编写代码的时候,IDE(Integrated DevelopmentEnvironment...
  • JAVA API官方中文文档

    2012-07-17 23:18:39
    Java API通过支持平台无关性和安全性,使得Java适应于网络应用。Java API是运行库的集合,它提供了一套访问主机系统资源的标准方法。 运行Java程序时,虚拟机装载程序的class文件所使用的Java API class文件。所有...
  • LeetCode算法常用Java API

    2021-10-11 22:45:29
    在刷题中,各种数据结构是我们常常用到的,例如实现迭代、哈希存储键值对等等,我们来看看常用集合和相关api。 类/接口 描述 方法 String 字符串 charAt toCharArray split substring indexOf lastIndexOf...
  • API如下: Deque对头部操作 抛出异常 返回特殊值 插入 addFirst() offerFirst() 删除 removeFirst() pollFirst() 查看 getFirst() peekFirst() Deque对尾部操作 抛出异常 返回特殊值 插入 ...
  • 在OJ上练习编程的时候,有时对、队列、堆这些基础数据结构的实现不是考察的重点,而只是要使用这些数据结构解决问题,此时我们熟练掌握语言提供的数据结构API即可。下面对Java中的、队列、小根堆和大根堆做一个...
  • Java 9 线程遍历 API

    2018-05-31 08:50:42
    什么是线程继续纠缠 Java 9 的新特性,仍然是一个边角料,即 Java 9 增加了对线程遍历的 API。那么什么是线程,JVM 在创建每一个线程的同时都会创建一个私有的虚拟机,每一桢代表着一个方法调用,每次方法的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 128,182
精华内容 51,272
关键字:

java栈的api

java 订阅