栈和队列是两种特殊的线性表,它们的逻辑结构和线性表相同,只是其运算规则较线性表有更多的限制,故又称它们为运算受限的线性表。

LinkedList数据结构是一种双向的链式结构,每一个对象除了数据本身外,还有两个引用,分别指向前一个元素和后一个元素,和数组的顺序存储结构(如:ArrayList)相比,插入和删除比较方便,但速度会慢一些。

栈的定义

栈(Stack)是限制仅在表的一端进行插入和删除运算的线性表。

(1)通常称插入、删除的这一端为栈顶(Top),另一端称为栈底(Bottom)。

(2)当表中没有元素时称为空栈。

(3)栈为后进先出(Last In First Out)的线性表,简称为LIFO表。

栈的修改是按后进先出的原则进行。每次删除(退栈)的总是当前栈中"最新"的元素,即最后插入(进栈)的元素,而最先插入的是被放在栈的底部,要到最后才能删除。实现代码:package com。gc。list;import java。util。*;public class MyStack { private LinkedList ll=new LinkedList();

public void push(Object o){

ll。

addFirst(o); } public Object pop(){

return ll。removeFirst(); }

public Object peek(){

return ll。getFirst(); }

public boolean empty(){

return ll。

isEmpty(); }

public static void main(String[] args){

MyStack ms=new MyStack();

ms。push("zhangsan");

ms。push("lisi");

ms。

push("wangwu");

System。out。println(ms。pop());

System。out。println(ms。peek());

System。out。println(ms。pop());

System。out。

println(ms。empty()); }}队列定义

队列(Queue)是只允许在一端进行插入,而在另一端进行删除的运算受限的线性表

(1)允许删除的一端称为队头(Front)。

(2)允许插入的一端称为队尾(Rear)。

(3)当队列中没有元素时称为空队列。

(4)队列亦称作先进先出(First In First Out)的线性表,简称为FIFO表。实现代码:package com。gc。list;import java。util。*;public class MyQueue { private LinkedList ll=new LinkedList(); public void put(Object o){

ll。

addLast(o); } //使用removeFirst()方法,返回队列中第一个数据,然后将它从队列中删除 public Object get(){

return ll。removeFirst(); }

public boolean empty(){

return ll。

isEmpty(); }

public static void main(String[] args){

MyQueue mq=new MyQueue();

mq。put("zhangsan");

mq。put("lisi");

mq。

put("wangwu");

System。out。println(mq。get());

System。out。println。

全部

java中队列的类是什么意思_java中LinkedList集合类实现栈和队列要注意什么?相关推荐

  1. java中所有的类都继承于_Java中所有的类都是通过直接或间接地继承( )类得到的...

    Java中所有的类都是通过直接或间接地继承( )类得到的 答:java.lang.Object 关于主机地址 192.168.19.125 (子网掩码: 255.255.255.248 ),以下说法正 ...

  2. java中所有的类都继承于_Java中所有的类都是通过直接或间接地继承()类得到的...

    阅读以下应用说明.图和C++程序,将C++程序中(1)-(6)空缺处的语句填写完整.[说明]以下[C++程序]用于实现两个多项式的乘积运算.多项式的每一项由类Item描述,而多项式由类List描述.类 ...

  3. java域的控制修饰符可分为_Java中的类和方法的修饰符

    java 中的类和方法的修饰符Java程序在定义类时,除了使用class关键字标识之外,还可以在class之前增加若干类的修饰符来修饰限定所定义的类的特性.类的修饰符分为访问控制符和非访问控制符两大类 ...

  4. LeetCode--144,94,145,102 二叉树的前序、中序、后序、层序遍历(递归,迭代,栈,队列)

    二叉树的前序.中序.后序.层序遍历(递归,迭代,栈,队列) 1. 二叉树的前序遍历 1.1 题目描述 1.2 题目分析 1.3 Python实现 2. 二叉树的中序遍历 2.1 题目描述 2.2 题目 ...

  5. android java 实体类 object变量 保存_Java中的实体类--Serializable接口、transient 关键字...

    在java中,实体类是一个非常重要的概念,我们可以在实体类中封装对象.设置其属性和方法等.关于实体类,也经常涉及到适配器模式.装饰者模式等设计模式.那么在实际代码开发中,关于实体类的注意事项有哪些呢? ...

  6. java中定义类的关键字是_java中定义类的关键字是什么?

    java中定义类的关键字是:"class".在Java中定义一个类,需要使用"class"关键字.一个自定义的类名和一对表示程序体的大括号. 类是 Java 中 ...

  7. Java实现自定义队列和树结构_Java数据结构之链表、栈、队列、树的实现方法示例...

    本文实例讲述了java数据结构之链表.栈.队列.树的实现方法.分享给大家供大家参考,具体如下: 最近无意中翻到一本书,闲来无事写几行代码,实现几种常用的数据结构,以备后查. 一.线性表(链表) 1.节 ...

  8. java jmf 视屏监控的核心代码_Java中利用JMF编写摄像头拍照程序_java

    我把程序分为两种,有趣的和无趣的,最近做了几个有趣的项目,其中一个,应当就算是摄像头拍照程序了.用于现场拍照,生成照片,主要用到java Media Framework(JMF). 首先到SUN下载最 ...

  9. java中的equals拿什么鞋的_Java中==和equals方法

    Java程序中测试两个变量是否相等有两种方式:1.== :2.equals()方法 当使用==来判断两个变量是否相等时,如果两个变量是基本类型变量,且都是基本数值类型(不一定要求数据类型严格相同),则 ...

最新文章

  1. 研究一下,如何实现一个文件系统
  2. 牛客练习赛64 - A.怪盗-1412(排列组合,简单数学)
  3. C# 拖放操作源码详解2
  4. SQL Server 审核(Audit)-- 创建服务器级别的审核
  5. javascript - 全局与局部作用域
  6. hdu 杭电 1045 Fire Net
  7. 什么叫基于web的网站_什么叫响应式网站?响应式网站模板教程
  8. ZOJ3772_Calculate the Function
  9. 最近miRNA研究上取得的新进展论文汇总
  10. java e.getmessage() null_Java e.getMessage 错误信息为null
  11. Python ValueError: could not convert string to float: ‘-‘ 解决办法
  12. 关于sql备份到其他服务器的问题
  13. Leetcode每日一题:175.组合两个表
  14. 中国数字X射线设备行业市场供需与战略研究报告
  15. centos LAMP菜鸟搭建过程
  16. 19_07_09校内训练[分组]
  17. Calico BGP 功能介绍:实现
  18. 99%的游戏主播都在用什么录屏软件?
  19. 快递物流类API推荐
  20. 快速排序详细图解分析(含代码示例)

热门文章

  1. android http get
  2. 用Android自带的signapk.jar + .x509.pem + .pk8签名应用程序
  3. instanceof java list_Java:Instanceof和泛型
  4. 编译安装_Unbound编译安装
  5. Docker仓库搭建
  6. 1854: zbj的可乐(思维题)
  7. 阿里云AIoT全新工业和农业云端一体机深度产品,全链路数据化实现效率提升
  8. RISC-V应用创新大赛开放报名啦!
  9. 阿里妈妈基于TensorFlow做了哪些深度优化?TensorFlowRS架构解析
  10. .NET 之路 | 007 详解 .NET 程序集