- 浏览: 345017 次
- 性别:
- 来自: 南京
文章分类
- 全部博客 (169)
- spring (20)
- java (44)
- ibatis (0)
- hibernate (6)
- struts (2)
- javascript (6)
- ajax (1)
- eclipse (4)
- 其他 (10)
- database (17)
- ibatis 分页 (7)
- xml (2)
- pl/sql (6)
- sql (4)
- apache (3)
- oracle (8)
- jdom (1)
- Open ModelSphere (1)
- 线程 (2)
- 多线程 (2)
- 查找文件 (1)
- Comparator (2)
- jxl (2)
- jquery (1)
- Flex (2)
- 非技术 (1)
- mysql (2)
- zxing (1)
- jdbc (1)
- Java内存 (1)
- editplus (1)
- log4j (1)
- sqlserver (2)
- base64 (1)
- Linux (4)
- Shell (2)
- 非技术共享 (1)
- 省市 (1)
- PowerDesigner (3)
- 观察者模式 (2)
- Servlet (1)
- 单点登录 (1)
- IO (1)
- tomcat (1)
- clob (1)
- html (1)
- jsp (2)
- JNative (1)
- WebService (2)
- Highcharts (1)
- Spring Security (1)
- ztree (1)
- Mongodb (3)
- sftp (1)
- SVN (1)
- openSUSE (1)
- Ubuntu (1)
- nio (1)
- springboot (1)
- java8 (1)
最新评论
-
wajjj:
[flash=200,200][url][img][list] ...
【JAVA】读取excel内容(兼容03和07格式) -
xurichusheng:
jjhe369 写道感谢分享!但是发现一个小问题,就是第13, ...
oracle 存储过程分页查询 -
jjhe369:
感谢分享!但是发现一个小问题,就是第13,14行的V_STAR ...
oracle 存储过程分页查询 -
飞天奔月:
为什么不用 Map<String, String> ...
读取.properties的内容,并将内容放入一个Map中 -
xurichusheng:
814687491 写道测试了一下,无法换行!你可以自定义自己 ...
使用google的zxing制作二维码
java 队列
import java.util.Arrays; /** * * <队列> * <先进先出FIFO> * * @author * @version [版本号, 2011-9-20] * @see [相关类/方法] * @since [产品/模块版本] */ public class SequenceQueue<T>{ //初始化容量 private int DEFAULT_INIT_SIZE = 10; //数组的长度 private int capacity; //定义一个数组,用于保存顺序栈的元素 private Object[] elementData; //队头 private int front = 0; //队尾 private int rear = 0; /** * <以默认数组长度创建顺序队列> */ public SequenceQueue(){ this.capacity = DEFAULT_INIT_SIZE; elementData = new Object[capacity]; } /** * <以一个初始化元素创建顺序队列> * @param element 指定顺序队列中第一个元素 */ public SequenceQueue(T element){ this(); elementData[0] = element; rear++; } /** * <以指定长度的数组来创建顺序队列> * @param element 指定顺序队列中第一个元素 * @param initSize 指定顺序队列底层数组的长度 */ public SequenceQueue(T element, int initSize){ this.capacity = initSize; elementData = new Object[capacity]; elementData[0] = element; rear++; } /** * <获取顺序队列的大小> * @return [参数说明] * * @return int [返回类型说明] * @exception throws [违例类型] [违例说明] * @see [类、类#方法、类#成员] * @author * @date 2011-9-20 */ public int length(){ return (rear-front); } /** * <判断队列是否为空> * @return [参数说明] * * @return boolean [返回类型说明] * @exception throws [违例类型] [违例说明] * @see [类、类#方法、类#成员] * @author * @date 2011-9-20 */ public boolean isEmpty(){ return rear == front; } /** * <插入队列> * @param element [参数说明] * * @return void [返回类型说明] * @exception throws [违例类型] [违例说明] * @see [类、类#方法、类#成员] * @author * @date 2011-9-20 */ public void add(T element){ if (rear > capacity-1){ throw new IndexOutOfBoundsException("队列已满"); } elementData[rear++] = element; } /** * <移除队列,并返回被移除的数据> * <在队头进行移除> * * @return T [返回类型说明] * @exception throws [违例类型] [违例说明] * @see [类、类#方法、类#成员] * @author * @date 2011-9-20 */ @SuppressWarnings("unchecked") public T remove(){ if (isEmpty()){ throw new IndexOutOfBoundsException("队列为空"); } //取得队头数据 T frontValue = (T)elementData[front]; //释放队头元素 elementData[front++] = null; return frontValue; } /** * <返回队头元素> * @return [参数说明] * * @return T [返回类型说明] * @exception throws [违例类型] [违例说明] * @see [类、类#方法、类#成员] * @author * @date 2011-9-20 */ @SuppressWarnings("unchecked") public T element(){ if (isEmpty()){ throw new IndexOutOfBoundsException("队列为空"); } return (T)elementData[front]; } /** * <清空顺序队列> * * @return void [返回类型说明] * @exception throws [违例类型] [违例说明] * @see [类、类#方法、类#成员] * @author * @date 2011-9-20 */ public void clear(){ //将数组中的所有元素赋为null Arrays.fill(elementData, null); front = 0; rear = 0; } public String toString(){ if (isEmpty()){ return "[]"; } StringBuilder sb = new StringBuilder("["); for (int i=front; i<rear; i++){ sb.append(elementData[i].toString()+", "); } int len = sb.length(); return sb.delete(len-2, len).append("]").toString(); } }
测试:
public class Test{ /** <一句话功能简述> * <功能详细描述> * @param args [参数说明] * * @return void [返回类型说明] * @exception throws [违例类型] [违例说明] * @see [类、类#方法、类#成员] * @author * @date 2011-9-20 */ public static void main(String[] args){ SequenceQueue<String> queue = new SequenceQueue<String>(); queue.add("aaaa"); queue.add("bbbb"); queue.add("cccc"); queue.add("dddd"); System.out.println(queue); System.out.println("队头元素:"+queue.element()); String remove = queue.remove(); System.out.println("被删除的元素:"+remove); System.out.println("第一次删除后:"+queue); } }
发表评论
-
mysql树
2019-09-26 08:39 413mysql树 -
【JAVA】组织树
2019-09-04 10:17 1047JDK 版本:jdk 1.8 及以上。 1. ... -
多线程多批量插入大数据
2018-10-31 11:19 6407参考 https://blog.csdn.ne ... -
java 7 nio逐行读取文件内容
2015-12-26 23:33 5457nio逐行读取文件内容,使用 java 7. 首先,获取 ... -
java 6 IO读取txt文件内容
2015-12-26 23:24 876逐行读取。 首先获取文件的编码格式; 读取文件内容。 ... -
【JAVA】读取excel内容(兼容03和07格式)
2015-12-21 13:51 2181jar 包: poi-3.13.j ... -
一行代码去除List中的重复数据
2015-12-02 10:52 16711. 核心代码: List<String> ... -
将List中的对象中的字段的重复值删除
2015-12-01 11:10 2704如下面的对象 Subs,如果其属性 startSt 和 e ... -
jdk 官方下载地址
2015-11-06 10:00 1861http://www.oracle.com/techn ... -
jsp页面显示二进制图片
2014-11-05 15:58 40801. DAO层 import java.sql.C ... -
java中使用JNative调用dll方法
2014-03-03 16:02 5328使用JNative调用dll方法, dll 文件名 ... -
Vector排序
2013-05-08 10:17 15351. Vector 默认按元素的添加顺序排序 im ... -
使用观察者模式监听Map值的改变
2013-05-02 16:46 6195观察者(Observer)角色:为所有的具体观察者定 ... -
【转】一个比较快的Base64 编码/解码 算法
2013-03-28 17:50 1725转自: 中国开源社区 最快的 Base64 编码/解 ... -
jdbc 数据库连接池
2012-12-04 16:09 1513注:有些java类是JDK ... -
将查询结果导入excel 中
2012-06-29 11:14 12101. 数据库:oracle 10g2 JDK: ... -
使用Comparator做对象的排序
2012-06-15 18:15 1333之前在面试的时候,人家老是问怎么对对象进行排序。 虽然 ... -
【转】 模拟银行业务调度系统
2012-06-13 15:39 1204转自:CSDN,itm_hadf ... -
HttpClient 代理实例(Get方式) 线程
2012-01-10 14:23 1550使用的jar包: commons-codec-1.4.jar ... -
httpclient资料(自用)
2012-01-10 07:07 1074httpclient资料
相关推荐
在《Java队列》这篇博文中,可能详细探讨了以下知识点: 1. **Queue接口**:介绍`Queue`接口的基本方法,如`enqueue()`(通常通过`add()`或`offer()`实现)和`dequeue()`(通常通过`remove()`或`poll()`实现)。还...
Java队列模拟实现是一个典型的计算机科学中的数据结构应用,它主要涉及了Java编程语言和队列数据结构。在这个工程中,开发者已经创建了一个基于图形用户界面(GUI)的应用程序,用于演示和操作队列的各种功能。以下...
在这个Java队列实现的数据结构作业练习中,我们将会探讨如何使用Java来创建一个简单的队列,并分析`Queue.java`和`Node.java`这两个文件可能包含的内容。 首先,`Queue.java`很可能是实现队列接口或类的文件。在...
Java编程语言在处理并发任务和时间调度方面提供了丰富的工具,其中`java定时器`、`多线程(池)`和`java队列`是核心概念。让我们深入探讨这些主题。 ### 1. Java定时器(java.util.Timer) `java.util.Timer` 类允许...
在这个"java队列源码"中,我们可以看到如何利用Java来实现多线程环境下的安全队列,特别适用于抢购等高并发场景。以下将详细讨论队列、多线程以及源码实现的关键知识点。 1. **Java 队列接口与实现** - Java 提供...
Java中的队列是一种数据结构,它遵循先进先出(FIFO)原则,即最先插入的元素将是最先被删除的。在Java中,队列的实现主要有三种:顺序队列、链式队列和循环队列。下面我们将详细探讨这三种队列的实现方式。 1. **...
Java队列是Java集合框架中的一个关键组成部分,主要用于在多个线程之间同步数据传输或实现异步处理。队列遵循先进先出(FIFO)的原则,即最早添加到队列中的元素将首先被处理。本教程将深入探讨如何在Java中使用队列...
java 队列使用,次例子是一个模拟网络爬虫工作大致流程的小例子,里面没有具体的爬取的实现,只是对爬取的流程的模拟,使用到了java 的 ArrayBlockingQueue、ConcurrentHashMap、 这2个类和java 的 volatile 关键字...
下面我们将详细讨论如何使用Java队列来实现这个模拟。 首先,我们可以创建一个`Truck`类,表示每辆卡车,包含卡车编号、装载状态、当前重量等属性。当卡车到达装煤设备时,它会被添加到一个装载队列中。Java中可以...
在“java定时器+多线程(池)+java队列Demo”这个项目中,我们将深入探讨这三个核心概念。 1. **Java定时器(java.util.Timer)**:`Timer`类用于调度周期性的任务执行。它可以安排一个任务在未来某个时间点或定期...
在IT行业中,队列是一种...以上就是使用LinkedList实现Java队列的全部操作及其背后的原理。理解这些知识点对于进行高效编程和解决复杂问题至关重要。在实际项目中,队列常用于任务调度、消息传递和并发控制等多个场景。
Java 队列实现方法 Java 队列是一种常用的数据结构,用于实现先进先出(FIFO)或后进先出(LIFO)的操作。Java 中提供了多种实现队列的方法,包括顺序队列、链式队列和循环队列等。下面我们将详细介绍每种队列的...
在Java编程中,队列是一种重要的数据结构,用于存储和管理元素,特别是在处理并发和多线程场景下。本篇文章将深入探讨如何使用Java来实现队列,特别是应用于限制线程执行数量的任务调度。 首先,我们需要理解队列的...
本篇文章将详细讲解Java中的队列、链表和栈,这些概念是许多初学者和专业人士都需要掌握的基础知识。 首先,我们来谈谈队列。队列是一种先进先出(First In First Out,简称FIFO)的数据结构,类似于现实生活中的...
以下是一个简单的Java队列实现,使用数组作为底层数据结构: ```java package 栈和队列; public class Queue { private int maxSize; private long[] queArray; private int front; private int rear; ...
在Java编程中,HTTP文件队列下载是一种常见的网络操作,特别是在大数据量或者多文件下载的场景下。HTTP协议是互联网上应用最为广泛的一种网络传输协议,而Java作为一门跨平台的编程语言,提供了多种方式来处理HTTP...
在IT领域,尤其是在Java编程中,队列是一种基础且重要的数据结构。队列遵循“先进先出”(First In First Out, FIFO)原则,它的主要功能是存储和管理元素序列,使得新添加的元素(入队)总是在序列末尾,而移除元素...
在Java编程中,队列是一种线性数据结构,它遵循先进先出(FIFO)的原则。在这个场景中,我们探讨了两种使用Java实现队列的方法:一种是通过自定义的数组实现,另一种是利用内置的Vector类。接下来,我们将详细讨论这...
在Java中,我们可以使用`java.util.Queue`接口及其实现类,如`LinkedList`或`ArrayDeque`来创建队列。 接下来,我们需要创建两个线程类:一个是`CustomerThread`,代表等待叫号的客户,另一个是`ServiceThread`,...
Java中的队列是一种数据结构,遵循“先入先出”(FIFO)的原则,主要用于实现生产者消费者模式。队列在并发编程中的应用尤为广泛,因为在多线程环境下,多个生产者或消费者可能同时对队列进行操作,因此线程安全的...