java中队列的类是什么意思_java中LinkedList集合类实现栈和队列要注意什么?
栈和队列是两种特殊的线性表,它们的逻辑结构和线性表相同,只是其运算规则较线性表有更多的限制,故又称它们为运算受限的线性表。
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集合类实现栈和队列要注意什么?相关推荐
- java中所有的类都继承于_Java中所有的类都是通过直接或间接地继承( )类得到的...
Java中所有的类都是通过直接或间接地继承( )类得到的 答:java.lang.Object 关于主机地址 192.168.19.125 (子网掩码: 255.255.255.248 ),以下说法正 ...
- java中所有的类都继承于_Java中所有的类都是通过直接或间接地继承()类得到的...
阅读以下应用说明.图和C++程序,将C++程序中(1)-(6)空缺处的语句填写完整.[说明]以下[C++程序]用于实现两个多项式的乘积运算.多项式的每一项由类Item描述,而多项式由类List描述.类 ...
- java域的控制修饰符可分为_Java中的类和方法的修饰符
java 中的类和方法的修饰符Java程序在定义类时,除了使用class关键字标识之外,还可以在class之前增加若干类的修饰符来修饰限定所定义的类的特性.类的修饰符分为访问控制符和非访问控制符两大类 ...
- LeetCode--144,94,145,102 二叉树的前序、中序、后序、层序遍历(递归,迭代,栈,队列)
二叉树的前序.中序.后序.层序遍历(递归,迭代,栈,队列) 1. 二叉树的前序遍历 1.1 题目描述 1.2 题目分析 1.3 Python实现 2. 二叉树的中序遍历 2.1 题目描述 2.2 题目 ...
- android java 实体类 object变量 保存_Java中的实体类--Serializable接口、transient 关键字...
在java中,实体类是一个非常重要的概念,我们可以在实体类中封装对象.设置其属性和方法等.关于实体类,也经常涉及到适配器模式.装饰者模式等设计模式.那么在实际代码开发中,关于实体类的注意事项有哪些呢? ...
- java中定义类的关键字是_java中定义类的关键字是什么?
java中定义类的关键字是:"class".在Java中定义一个类,需要使用"class"关键字.一个自定义的类名和一对表示程序体的大括号. 类是 Java 中 ...
- Java实现自定义队列和树结构_Java数据结构之链表、栈、队列、树的实现方法示例...
本文实例讲述了java数据结构之链表.栈.队列.树的实现方法.分享给大家供大家参考,具体如下: 最近无意中翻到一本书,闲来无事写几行代码,实现几种常用的数据结构,以备后查. 一.线性表(链表) 1.节 ...
- java jmf 视屏监控的核心代码_Java中利用JMF编写摄像头拍照程序_java
我把程序分为两种,有趣的和无趣的,最近做了几个有趣的项目,其中一个,应当就算是摄像头拍照程序了.用于现场拍照,生成照片,主要用到java Media Framework(JMF). 首先到SUN下载最 ...
- java中的equals拿什么鞋的_Java中==和equals方法
Java程序中测试两个变量是否相等有两种方式:1.== :2.equals()方法 当使用==来判断两个变量是否相等时,如果两个变量是基本类型变量,且都是基本数值类型(不一定要求数据类型严格相同),则 ...
最新文章
- 研究一下,如何实现一个文件系统
- 牛客练习赛64 - A.怪盗-1412(排列组合,简单数学)
- C# 拖放操作源码详解2
- SQL Server 审核(Audit)-- 创建服务器级别的审核
- javascript - 全局与局部作用域
- hdu 杭电 1045 Fire Net
- 什么叫基于web的网站_什么叫响应式网站?响应式网站模板教程
- ZOJ3772_Calculate the Function
- 最近miRNA研究上取得的新进展论文汇总
- java e.getmessage() null_Java e.getMessage 错误信息为null
- Python ValueError: could not convert string to float: ‘-‘ 解决办法
- 关于sql备份到其他服务器的问题
- Leetcode每日一题:175.组合两个表
- 中国数字X射线设备行业市场供需与战略研究报告
- centos LAMP菜鸟搭建过程
- 19_07_09校内训练[分组]
- Calico BGP 功能介绍:实现
- 99%的游戏主播都在用什么录屏软件?
- 快递物流类API推荐
- 快速排序详细图解分析(含代码示例)
热门文章
- android http get
- 用Android自带的signapk.jar + .x509.pem + .pk8签名应用程序
- instanceof java list_Java:Instanceof和泛型
- 编译安装_Unbound编译安装
- Docker仓库搭建
- 1854: zbj的可乐(思维题)
- 阿里云AIoT全新工业和农业云端一体机深度产品,全链路数据化实现效率提升
- RISC-V应用创新大赛开放报名啦!
- 阿里妈妈基于TensorFlow做了哪些深度优化?TensorFlowRS架构解析
- .NET 之路 | 007 详解 .NET 程序集