java队列长度_Java实现固定长度队列
import java.util.Collection;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.Queue;
/**
* 固定长度队列
*
*/
public class LimitQueue implements Queue{
//队列长度
private int limit;
Queue queue = new LinkedList();
public LimitQueue(int limit){
this.limit = limit;
}
/**
* 入队
* @param e
*/
@Override
public boolean offer(E e){
if(queue.size() >= limit){
//如果超出长度,入队时,先出队
queue.poll();
}
return queue.offer(e);
}
/**
* 出队
* @return
*/
@Override
public E poll() {
return queue.poll();
}
/**
* 获取队列
* @return
*/
public Queue getQueue(){
return queue;
}
/**
* 获取限制大小
* @return
*/
public int getLimit(){
return limit;
}
@Override
public boolean add(E e) {
return queue.add(e);
}
@Override
public E element() {
return queue.element();
}
@Override
public E peek() {
return queue.peek();
}
@Override
public boolean isEmpty() {
return queue.size() == 0 ? true : false;
}
@Override
public int size() {
return queue.size();
}
@Override
public E remove() {
return queue.remove();
}
@Override
public boolean addAll(Collection extends E> c) {
return queue.addAll(c);
}
@Override
public void clear() {
queue.clear();
}
@Override
public boolean contains(Object o) {
return queue.contains(o);
}
@Override
public boolean containsAll(Collection> c) {
return queue.containsAll(c);
}
@Override
public Iterator iterator() {
return queue.iterator();
}
@Override
public boolean remove(Object o) {
return queue.remove(o);
}
@Override
public boolean removeAll(Collection> c) {
return queue.removeAll(c);
}
@Override
public boolean retainAll(Collection> c) {
return queue.retainAll(c);
}
@Override
public Object[] toArray() {
return queue.toArray();
}
@Override
public T[] toArray(T[] a) {
return queue.toArray(a);
}
}
package com.gary.test;
import com.gary.util.LimitQueue;
public class TestQueue {
public static void main(String[] args) {
LimitQueue lqueue = new LimitQueue(3);
lqueue.offer("1");
lqueue.offer("2");
lqueue.offer("3");
lqueue.offer("4");
//1因超出队列大小限制已自动出队,输出结果为2,3,4
for (String string : lqueue.getQueue()) {
System.out.println(string);
}
}
}
java队列长度_Java实现固定长度队列相关推荐
- java 固定长度队列_如何彻底搞懂 Java 数据结构?|CSDN 博文精选
作者 | 张振华.Jack 责编 | 郭芮 出品 | CSDN 博客 本文和大家一起来重温<Java数据结构>经典之作. Java数据结构 要理解Java数据结构,必须能清楚何为数据结构? ...
- java随机产生100个大小写字母_Java生成固定长度的随机字符串(以大小写字母和数字)...
packageorg.jimmy.autosearch2019.test;importjava.util.ArrayList;importjava.util.Random;/***@authorラピス ...
- Java 实现固定长度队列,自动删除最早添加的数据
1. 长度固定,不能太长了,就最近的几条就可以,所以需要固定的队列. 2. 在添加的时候,自动删除最早添加的记录. 3. 输出的时候,倒序输出 简单的代码如下,主要使用了 org.apache.com ...
- java固定数组_Java在固定长度的数组里加入一个数
展开全部 题目:给定一个有序的数组{13, 15, 19, 28, 33, 45, 78, 106},如果往该32313133353236313431303231363533e59b9ee7ad943 ...
- 循环队列的java结构_java数据结构之循环队列(数组实现)
package com.ws.队列.数组环形队列; //环形数组队列 //判断满:尾+1%队列长度==头 //添加数据:要(尾+1)%数组长度 //取出数据:要(头+1)%数组长度 因为这两个都是循环 ...
- java数组大小不固定_Java的数组长度为什么不能改变?
Java中的数组是定长的!你这样int[] a ={}; 定义出来的数组a 长度为0,已经是定长了,之后再给它赋值是不可以的,因为它的长度定义出来之后是不可改变的了.所以在使用数组的时候,一定要注意长 ...
- java输出字符串的长度_Java格式化字串输出固定长度
字串格式化输出经常用到,将字串固定输出长度可以使用如下方式格式化输出: String name = "youxiong"; name = String.format("% ...
- 自定义队列(优化了数组固定长度的弊端)以及集合中的一些重点内容
java中的数组在声明的的时候都会要求输入数组的的大小,有的时候在事先会不知道要加入的东西的大小,那我们怎么定义数组的大小呢,定多大合适呢,这就成为一个难题.其实Java中的集合会解决这个问题,但它是 ...
- Java编程笔试时输入问题:如何输入固定长度、不定长度的一维数组?如何输入固定长度、不定长度的二维数组?
Java编程笔试时输入问题: 如何输入固定长度.不定长度的一维数组? 如何输入固定长度.不定长度的二维数组? 如何将数组中的内容直接输出,不要中括号和逗号? 文章目录 ==Java编程笔试时输入问题= ...
最新文章
- [开源].NET数据库访问框架Chloe.ORM
- 物理服务器对应多个虚拟节点,一台物理机如何开多个云服务器
- Deep Belief Networks
- Framework打包
- python hookapi_pytest文档70-Hook钩子函数完整API总结​
- 实战02_SSM整合ActiveMQ支持多种类型消息
- .net 实时通信_【WebSocket】实时多人答题对战游戏
- Tidal Finance在Uniswap开启流动性挖矿
- Java之消息摘要(MD5)
- 1以下数字Oracle打印缺少0,Oracle SQL中缺少關鍵字
- SQL server 基础语法
- 360浏览器的极速模式和兼容模式的区别
- 白盒测试技术—逻辑覆盖方法
- SpaceSniffer(磁盘大小扫描分析) 彻底解决C盘爆满问题 清理C盘必备软件
- 【云片网】使用云片网发送注册短信验证码
- 三维纽结与弦理论的一些猜想
- 【华人学者风采】胡瑞忠 中国科学院
- 从零开始Android游戏编程(第二版) 第一章 搭建开发环境
- JavaScript IndexedDB 完整指南
- 计算机操作系统学习(五)文件管理
热门文章
- QQ空间搬家工具 发布
- 产品防伪码查询系统_学历学籍查询系统_证书查询系统_录取成绩查询系统_工资查询系统_信息查询系统
- java sql 查询中的转义序列不对_在 JDBC 中使用 SQL 转义序列 - SQL Server | Microsoft Docs...
- e树企业管理系统 服务器连接,e树企业管理系统erp软件
- 常微分方程(Ordinary Differential Equation I)
- 使用ren命令批量修改照片名
- Android 忘记锁屏密码的解决办法
- 图扑孪生工厂流水线组态图可视化
- 我的C++实践(10-15)
- PGP加密,良好隐私密码法