创建一个类Queue代表队列(先进先出),添加add(Object obj) 及get()方法, 并添加main()方法进行验证 思路: 使用LinkedList实现队列,在向LinkedList中添加时,使用addFirst()方法, 在从LinkedLsit中取出时,使用removeLast()方法

 package com.lch.book3chapter1.exercise4;

 import java.util.LinkedList;

 public class QueueTest {

     public static void main(String[] args) {
Student stu1 = new Student("李磊", 90);
Student stu2 = new Student("韩梅", 96);
Student stu3 = new Student("李中", 79); Queue<Student> q = new Queue<Student>();
q.add(stu1);
q.add(stu2);
q.add(stu3);
for (int i = 0; i < q.size(); i++) {
Student s = q.get();
System.out.println(s.getName() + "-" + s.getScore());
}
} } class Queue<T> {
private LinkedList<T> list = null;
int count = 0; public Queue() {
list = new LinkedList<T>();
} public T get() {
T obj = null;
if (!list.isEmpty()) {
// 第一个添加的元素在队列的尾部
obj = list.removeLast(); // 删除并返回列表的最后一个元素(第一个被添加的元素)
}
return obj;
// return list.getLast(); //没有删除操作,获取到的永远是最后一个
} public void add(T obj) {
list.addFirst(obj);
this.count++;
} public int size() {
return count;
}
} class Student {
private String name;
private int score; public Student(String name, int score) {
super();
this.name = name;
this.score = score;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public int getScore() {
return score;
} public void setScore(int score) {
this.score = score;
} @Override
public String toString() {
return "Student [name=" + name + ", score=" + score + "]";
} }

打印结果

使用linkedlist封装简单的先进先出队列的更多相关文章

  1. Java编程的逻辑 (61) - 内存映射文件及其应用 - 实现一个简单的消息队列

    本系列文章经补充和完善,已修订整理成书<Java编程的逻辑>,由机械工业出版社华章分社出版,于2018年1月上市热销,读者好评如潮!各大网店和书店有售,欢迎购买,京东自营链接:http:/ ...

  2. 使用LinkedList模拟一个堆栈或者队列数据结构

    使用LinkedList模拟一个堆栈或者队列数据结构. 堆栈:先进后出  如同一个杯子. 队列:先进先出  如同一个水管. import java.util.LinkedList; public cl ...

  3. Java LinkedList特有方法程序小解 && 使用LinkedList 模拟一个堆栈或者队列数据结构。

    package Collection; import java.util.LinkedList; /* LinkedList:特有的方法 addFirst()/addLast(); getFirst( ...

  4. 用LinkedList集合演示栈和队列的操作

    在数据结构中,栈和队列是两种重要的线性数据结构.它们的主要不同在于:栈中存储的元素,是先进后出:队列中存储的元素是先进先出.我们接下来通过LinkedList集合来演示栈和队列的操作. import ...

  5. LinkedList集合 实现栈和队列

    LinkedList集合的底层是链表结构实现的,所以可以模拟栈(先进后出)和队列(先进先出). 方法: addFirst() //添加元素到列表的起始位置 addLast() //添加元素到列表的结束 ...

  6. 原生JS封装简单动画效果

    原生JS封装简单动画效果 一致使用各种插件,有时候对原生JS陌生了起来,所以决定封装一个简单动画效果,熟悉JS原生代码 function animate(obj, target,num){ if(ob ...

  7. 简单的js队列

    简单的js队列 /** * [Queue] * @param {[Int]} size [队列大小] */ function Queue(size) { var list = []; //向队列中添加 ...

  8. java 使用LinkedList模拟一个堆栈或者队列数据结构

    近期在复习下java基础,看了下java基础,在看到集合时突然发现想起来曾经面试有一道笔试题:模拟一个堆栈或者队列数据结构,当时还没做出来,今天就写一下,首先得明确堆栈和队列的数据结构 堆栈:先进后出 ...

  9. 使用LinkedList模拟一个堆栈或者队列数据结构。

    堆栈:先进后出 First in last out filo 队列:先进先出 First in last out filo使用LinkedList的方法,addFirst addLast getFir ...

随机推荐

  1. Jmeter之JDBC--Mysql

    一.添加JDBC Connection Configuration控件 界面显示如下: 配置说明: 1.名称:标识 2.注释:备注信息 3.Variable Name:定义的变量名,供后续调用: 4. ...

  2. Postman Tests脚本的使用

    直接在Tests中写js代码断言结果,Test Result展示运行结果,简单方便. 示例脚本: var jsonData = JSON.parse(responseBody); var num = ...

  3. Ecshop二次开发必备基础

    EcShop二次开发学习方法 近年来,随着互联网的发展,电子商务也跟着一起成长,B2B,C2C,B2C的电子商务模式也不断的成熟.这时催生出了众多电子商务相关的PHP开源产品.B2C方面有Ecshop ...

  4. jQ判断checked是否选中

    (1).JQ1.6版本之前(不包括1.6版本)判断checkbox是否被选中用的是attr()方法,HTML代码与上面相同,只放JQ代码: console.log($("input[type ...

  5. python+selenium元素定位之CSS学习01

    参考文档:https://www.w3school.com.cn/cssref/css_selectors.asp 选择器 例子 例子描述 CSS .class .intro 选择 class=&qu ...

  6. Leveldb源码分析--3

    http://blog.csdn.net/sparkliang/article/details/8604416

  7. mysql自动补全功能(只能用于表/列 名)

    关键字:mysql自动补全,auto-rehash 注:只能补齐表,列名,使用tab进行补全操作 一.修改my.cnf vi /etc/my.cnf [mysql] auto-rehash #添加au ...

  8. vue2.0 watch里面的 deep和immediate作用

    deep,默认值是 false,代表是否深度监听.immediate:true代表如果在 wacth 里声明了之后,就会立即先去执行里面的handler方法,如果为 false就跟我们以前的效果一样, ...

  9. (六:NIO系列) 相关设计模式

    出处:  反应器模式 vs 观察者模式  反应器模式 vs 生产者消费者模式 反应器模式 vs 观察者模式 反应器模式 是一种为处理服务请求并发提交到一个或者多个服务处理程序的事件设计模式.当请求抵达 ...

  10. SpringBoot 集成MyBatis 中的@MapperScan注解

    SpringBoot 集成MyBatis 中的@MapperScan注解 2018年08月17日 11:41:02 文火慢炖 阅读数:398更多 个人分类: 环境搭建 在SpringBoot中集成My ...