文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Java中Stack与Queue的示例分析

2023-06-15 01:06

关注

这篇文章给大家分享的是有关Java中Stack与Queue的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

java基本数据类型有哪些

Java的基本数据类型分为:1、整数类型,用来表示整数的数据类型。2、浮点类型,用来表示小数的数据类型。3、字符类型,字符类型的关键字是“char”。4、布尔类型,是表示逻辑值的基本数据类型。

一、Stack

Java中Stack与Queue的示例分析

示例:

package StackPack;import java.util.Stack;public class StackDemo {    public static void main(String[] args) {        Stack<Integer> stack=new Stack<>();        for(int i=0;i<10;i++)        {            stack.push(i*2);        }        //[0, 2, 3, 4, 6, 8, 12, 14, 16, 18]        System.out.println(stack.peek());  //18        System.out.println(stack.search(14));  //以1为基数,        // 返回最近出现位置到栈顶距离,因此为3        while(!stack.isEmpty())        {            System.out.print(stack.pop()+"\t");        }        System.out.println();        System.out.println(stack.search(1));  //找不到,返回-1    }}

二、Queue

由于Queue只是个接口,因此没有构造方法

Java中Stack与Queue的示例分析

从这里可以看到Queue从Collection中继承了add,remove等方法,但是我们应该尽量使用offer替换add,使用poll来替换remove

使用Queue特有的方法offer,poll的好处是可以通过判断返回值判断操作是否成功完成,而add,remove则会在失败时抛出异常

Java中Stack与Queue的示例分析

示例:

package QueuePack;import java.util.*;public class QueueDemo {    public static void main(String[] args) {        Queue<Integer> queue=new ArrayDeque<>();        for(int i=0;i<10;i++)        {            queue.offer(i*2);        }        Iterator<Integer> it=queue.iterator();        while(it.hasNext())        {            System.out.print(it.next()+"\t"); //024681012141618        }        System.out.println();        System.out.println(queue.peek()); //0        System.out.println(queue.poll());  //0,同时队列变成[2,4,6,8,10,12,14,16,18]            }}

示例:十进制转二进制

因为十进制转二进制是每次模2取余直到num=0,然后将余数反转即可得到转换的结果,因此可以利用双向队列Deque

代码

package QueuePack;import java.util.*;public class QueueDemo {    public static void main(String[] args) {        Queue<Integer> queue=new ArrayDeque<>();        for(int i=0;i<10;i++)        {            queue.offer(i*2);        }        Iterator<Integer> it=queue.iterator();        while(it.hasNext())        {            System.out.print(it.next()+"\t"); //024681012141618        }        System.out.println();        System.out.println(queue.peek()); //0        System.out.println(queue.poll());  //0,同时队列变成[2,4,6,8,10,12,14,16,18]            }}

Java中Stack与Queue的示例分析

Queue是单队列,Deque是双向队列,根据需要使用。

感谢各位的阅读!关于“Java中Stack与Queue的示例分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯