• 技术文章 >Java >java教程

    java中栈和队列的区别是什么?

    青灯夜游青灯夜游2019-11-16 16:34:00原创1813

    队列(Queue):是限定只能在表的一端进行插入和在另一端进行删除操作的线性表;

    栈(Stack):是限定只能在表的一端进行插入和删除操作的线性表。

    区别如下:

    一、规则不同

    1、队列:先进先出(First In First Out)FIFO

    2、栈:先进后出(First In Last Out )FILO

    二、对插入和删除操作的限定不同

    1、队列:只能在表的一端进行插入,并在表的另一端进行删除;

    2、栈:只能在表的一端插入和删除。

    三、遍历数据速度不同

    1、队列:基于地址指针进行遍历,而且可以从头部或者尾部进行遍历,但不能同时遍历,无需开辟空间,因为在遍历的过程中不影响数据结构,所以遍历速度要快;

    2、栈:只能从顶部取数据,也就是说最先进入栈底的,需要遍历整个栈才能取出来,而且在遍历数据的同时需要为数据开辟临时空间,保持数据在遍历前的一致性。

    四、接口实现的异同

    队列和栈由Collcetion接口实现,队列由Queue接口实现,栈由List接口实现。

    五、遍历数据速度的异同

    栈只能从头部取数据,也就最先放入的需要遍历整个栈最后才能取出来,而且在遍历数据的时候还得为数据开辟临时空间,保持数据在遍历前后的一致性。

    队列基于地址指针进行遍历,而且可以从头或尾部开始遍历,无需开辟临时空间,速度要快的多。

    以上就是java中栈和队列的区别是什么?的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:java 队列
    上一篇:java的静态变量和实例变量的区别是什么? 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • 运行java程序提示找不到或无法加载主类• java中方法引用与方法调用的区别• java中类方法与实例方法的区别• java gc 面试题及答案(1~5题)
    1/1

    PHP中文网