`
王浩洋
  • 浏览: 17560 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

队列小结

    博客分类:
  • java
阅读更多
队列总结
1.为什么要使用队列?
  由于数组的长度是固定的,因此对于要再添加数据的情况下,数组就不能使用了,因此要用
队列来实现
2.队列的定义
  1)首先要定义队列接口
示例如下代码:
public interface JavaList<E>{
	//获取队列长度
	public int size();
	//向队列尾部添加元素
	public void add(E e);
	//获取指定下标位置的元素
	public E get(int index);
}

  2)队列的实现
示例如下代码:
public class CustomList<E> implements JavaList<E> {
	/**
	 * 获取队列的长度
	 */
	public int size() {
		return array.length;
	}
	/**
	 * 在队列尾部添加元素
	 */
	public void add(E e) {
		Object []newarray=new Object[array.length+1];
		newarray[array.length]=e;
		System.arraycopy(array, 0, newarray, 0, array.length);
	}	
	public E get(int index) {
		if(index<0||index>array.length-1){
			System.out.println("要返回的结果不存在");
			return null;
		} else {
			E e=(E) array[index];
			return  e;}
	}
	private Object[]array=new Object[0];
}

其中E表示泛型,就是自己定义的所有数据类型都可以,定义成泛型大大扩大的该队列的使用
范围
3.队列的使用
下面举个简单的例子吧
示例代码如下:
/**
 * 图书类
 * @author 王浩洋
 *
 */
public class Book {
	private int price;
	private String name;
	public Book(int price,String name){
		this.price=price;
		this.name=name;
	}
	public float getPrice() {
		return price;
	}
	public void setPrice(int price) {
		this.price = price;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	
	
}


/**
 * 管理类
 * @author 王浩洋
 *
 */
public class Manager {
	public static void main(String[] args) {
                  Book b1=new Book(37,"《三国演义》");
		Book b2=new Book(36,"《水浒传》");
		Book b3=new Book(45,"《红楼梦》");
		Book b4=new Book(24,"《西游记》");
JavaList<Book>  jl=new CustomList<Book>();
jl.add(b1);
jl.add(b2);
jl.add(b3);
jl.add(b4);
//遍历输出队列中的数据
for(int i=0;i<ll.size();i++){
		System.out.println(((Book)(jl.get(i)).getPrice());
}
}
}
分享到:
评论

相关推荐

    循环队列的总结

    循环队列是一种线性数据结构,它在计算机科学中被广泛应用于数据缓存、消息队列等场景。相比于传统的队列,循环队列利用数组的循环特性,避免了队列满或空时需要重新分配内存的问题,提高了空间利用率和操作效率。在...

    循环队列源代码

    4. 小结 循环队列是一种非常有用的数据结构,它可以用于解决许多实际问题。在本资源中,我们提供了一个完整的循环队列的实现代码,并对其进行了详细的解释。我们希望本资源能够对读者有所帮助。

    数据结构实验栈和队列详细实验报告

    【栈和队列的基本概念】 栈是一种特殊的线性表,具有“后进先出”(LIFO,Last In First Out)的特点。栈的主要操作包括入栈(Push)和出栈(Pop)。入栈操作是在栈顶添加元素,而出栈则是删除栈顶元素。栈的应用...

    栈和队列的基本操作

    在实验小结中,我们需要总结本次实验的重难点及心得、体会、收获。我们可以通过实验,掌握了栈和队列的知识,又学会了一些基本应用实例,例如括号匹配、回文判断、事物排队模拟、数据逆序生成、多进制转换等。 在...

    Python实现队列的方法示例小结【数组,链表】

    ### Python 实现队列的方法详解 #### 一、引言 队列是一种常见的线性数据结构,遵循先进先出(FIFO, First In First Out)的原则。在实际应用中,队列广泛应用于任务调度、缓存管理等领域。Python 作为一种高级...

    第3章栈和队列第8讲-小结.pptx

    在计算机科学中,栈和队列是两种基本的数据结构,它们在编程中有着广泛的应用。本章主要总结了栈和队列的相关知识点。 栈(Stack)被称为“后进先出”(Last In First Out,简称LIFO)的数据结构。一个栈的操作主要...

    数据结构之栈、队列全部代码

    在这个"数据结构之栈、队列全部代码"的压缩包中,我们将会深入探讨两种基本且重要的线性数据结构——栈和队列,以及它们在编程中的实际应用。 首先,栈(Stack)是一种后进先出(LIFO,Last In First Out)的数据...

    微服务SpringBoot整合Redis基于Redis的Stream消息队列实现异步秒杀下单

    六、程序测试与小结 文章可能涵盖了编写测试用例以验证Redis Stream消息队列在秒杀场景下的正确性和性能。测试应包括模拟大量并发请求,检查订单创建的正确性,以及验证在高负载下系统的稳定性和伸缩性。 总结,...

    用栈及队列模拟停车场管理的实验报告

    - **构造函数**:初始化队列,设置头指针`front`和尾指针`rear`均为`NULL`,表示空队列状态。 - **full 函数**:判断队列是否已满。 - **pakingmanagement 类**:负责整个停车场系统的管理逻辑。 - **pushstack ...

    基于Java数组实现循环队列的两种方法小结

    基于Java数组实现循环队列的两种方法小结 本文讲解了基于Java数组实现循环队列的两种方法,旨在帮助读者更好地理解循环队列的实现机理和设计思想。循环队列是一种特殊的队列结构,能够充分利用数组的存储空间,避免...

    Linux操作系统内核中工作队列的操作

    小结 工作队列是Linux内核中非常重要的一个组件,它能够帮助内核高效地处理后台任务,从而提升系统的响应速度和性能。通过理解其核心数据结构和相关操作,开发者可以更好地利用这一特性来优化自己的驱动程序或系统...

    Java阻塞队列四组API介绍(小结)

    Java阻塞队列四组API介绍 Java阻塞队列四组API介绍是Java并发编程中非常重要的一部分,本文将详细介绍这四组API,并通过示例代码进行讲解。 第一组API:会抛出异常的API 第一组API包括add()、remove()、element()...

    单个军人徒手队列动作教案.doc

    【单个军人徒手队列动作教案】 ...整个教学进程严谨有序,从教学准备到教学实施,再到小结与纠正错误,环环相扣,旨在培养学员的自律性和团队协作能力,为后续更复杂的队列动作和军事训练打下坚实的基础。

    java实现消息队列的两种方式(小结)

    Java消息队列(Java Message Queue,简称JMS)是一种用于应用程序之间异步通信的技术,它允许应用程序通过消息传递数据,而无需直接调用彼此。在本文中,我们将探讨两种使用Java实现消息队列的方式,分别是利用...

    c#结课作业.doc

    本资源摘要信息涵盖了C#编程语言的基础知识点,包括泛型队列的设计、迭代器方法的应用、枚举器类的实现等。 一、泛型队列的设计 在C#中,泛型队列是指可以存储不同类型元素的队列。通过设计泛型队列,可以实现队列...

    c语言数据结构的小结

    "C语言数据结构的小结"是一个针对初学者的指南,旨在帮助他们理解并掌握C语言中的数据结构概念。数据结构是计算机科学的核心组成部分,它涉及到如何有效地组织和管理数据,以便于高效地访问和操作。 首先,我们要...

    C++用两个栈实现一个队列(面试官的小结)

    通过对面试者的表现和反应,有一些统计和感受,在此做个小结。 用C++描述,题目大致是这样的: 已知下面Stack类及其3个方法Push、Pop和 Count,请用2个Stack实现Queue类的入队(Enqueue)出队(Dequeue)方法。 class ...

    安卓知识小结第一章

    【Android知识小结第一章】 本章节主要涵盖了Android开发中的一些核心知识点,特别是针对面试中常见的问题进行了总结。以下是对这些知识点的详细解释: 1. 开启多进程:在Android中,可以通过在AndroidManifest....

    数栈队列PPT学习教案.pptx

    八、小结 数栈队列是计算机科学中的一种基本数据结构,栈和队列是两种常见的受限线性表。栈和队列的基本操作包括进栈、出栈、取栈顶元素、入队、出队、取队头元素等。栈和队列的应用非常广泛,如模拟铁路调度站、...

Global site tag (gtag.js) - Google Analytics