队列总结
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 实现队列的方法详解 #### 一、引言 队列是一种常见的线性数据结构,遵循先进先出(FIFO, First In First Out)的原则。在实际应用中,队列广泛应用于任务调度、缓存管理等领域。Python 作为一种高级...
在计算机科学中,栈和队列是两种基本的数据结构,它们在编程中有着广泛的应用。本章主要总结了栈和队列的相关知识点。 栈(Stack)被称为“后进先出”(Last In First Out,简称LIFO)的数据结构。一个栈的操作主要...
在这个"数据结构之栈、队列全部代码"的压缩包中,我们将会深入探讨两种基本且重要的线性数据结构——栈和队列,以及它们在编程中的实际应用。 首先,栈(Stack)是一种后进先出(LIFO,Last In First Out)的数据...
六、程序测试与小结 文章可能涵盖了编写测试用例以验证Redis Stream消息队列在秒杀场景下的正确性和性能。测试应包括模拟大量并发请求,检查订单创建的正确性,以及验证在高负载下系统的稳定性和伸缩性。 总结,...
- **构造函数**:初始化队列,设置头指针`front`和尾指针`rear`均为`NULL`,表示空队列状态。 - **full 函数**:判断队列是否已满。 - **pakingmanagement 类**:负责整个停车场系统的管理逻辑。 - **pushstack ...
基于Java数组实现循环队列的两种方法小结 本文讲解了基于Java数组实现循环队列的两种方法,旨在帮助读者更好地理解循环队列的实现机理和设计思想。循环队列是一种特殊的队列结构,能够充分利用数组的存储空间,避免...
小结 工作队列是Linux内核中非常重要的一个组件,它能够帮助内核高效地处理后台任务,从而提升系统的响应速度和性能。通过理解其核心数据结构和相关操作,开发者可以更好地利用这一特性来优化自己的驱动程序或系统...
Java阻塞队列四组API介绍 Java阻塞队列四组API介绍是Java并发编程中非常重要的一部分,本文将详细介绍这四组API,并通过示例代码进行讲解。 第一组API:会抛出异常的API 第一组API包括add()、remove()、element()...
【单个军人徒手队列动作教案】 ...整个教学进程严谨有序,从教学准备到教学实施,再到小结与纠正错误,环环相扣,旨在培养学员的自律性和团队协作能力,为后续更复杂的队列动作和军事训练打下坚实的基础。
Java消息队列(Java Message Queue,简称JMS)是一种用于应用程序之间异步通信的技术,它允许应用程序通过消息传递数据,而无需直接调用彼此。在本文中,我们将探讨两种使用Java实现消息队列的方式,分别是利用...
本资源摘要信息涵盖了C#编程语言的基础知识点,包括泛型队列的设计、迭代器方法的应用、枚举器类的实现等。 一、泛型队列的设计 在C#中,泛型队列是指可以存储不同类型元素的队列。通过设计泛型队列,可以实现队列...
"C语言数据结构的小结"是一个针对初学者的指南,旨在帮助他们理解并掌握C语言中的数据结构概念。数据结构是计算机科学的核心组成部分,它涉及到如何有效地组织和管理数据,以便于高效地访问和操作。 首先,我们要...
通过对面试者的表现和反应,有一些统计和感受,在此做个小结。 用C++描述,题目大致是这样的: 已知下面Stack类及其3个方法Push、Pop和 Count,请用2个Stack实现Queue类的入队(Enqueue)出队(Dequeue)方法。 class ...
【Android知识小结第一章】 本章节主要涵盖了Android开发中的一些核心知识点,特别是针对面试中常见的问题进行了总结。以下是对这些知识点的详细解释: 1. 开启多进程:在Android中,可以通过在AndroidManifest....
八、小结 数栈队列是计算机科学中的一种基本数据结构,栈和队列是两种常见的受限线性表。栈和队列的基本操作包括进栈、出栈、取栈顶元素、入队、出队、取队头元素等。栈和队列的应用非常广泛,如模拟铁路调度站、...