最新文章列表

jdk源码分析ArrayDeque

ArrayDeque 数组循环队列,这个数据结构设计的挺有意思的。 据说此类很可能在用作堆栈时快于 Stack,在用作队列时快于 LinkedList。 一、容量 1.1默认容量是8=2^3 1.2指定初始化容容量 public ArrayDeque(int numElements) { allocateElements(numElements); ...
noble510520 评论(0) 有764人浏览 2016-10-27 19:53

List接口的实现类LinkedList

        LinkedList类是List接口的实现类,这意味着它是一个List集合,可以根据索引来随机访问集合中的元素。除此之外,LinkedList还实现了Deque接口,可以被当成双端队列使用,因此既可以被当成“栈”来使用,也可以当成队列使用。 1 代码示例 import java.util.*; public class LinkedListTest { publi ...
cakin24 评论(0) 有2351人浏览 2016-09-12 20:15

ArrayDeque集合的妙用

        Deque接口是Queue接口的子接口,它代表一个双端队列,该队列允许从两端来操作队列中的元素。Deque不仅可以当成双端队列使用,而且可以当成栈来使用。         ArrayDeque集合是Deque接口的实现类,它是一个基于数组的双端队列,创建Deque时同样可以指定一个numElements参数,该参数用于指定Object[]数组的长度;如果不指定该参数,Deque ...
cakin24 评论(0) 有3986人浏览 2016-09-12 20:01

Java实现一个简单的队列

队列遵循先进先出的原则,下面看看简单的Demo实例。   package com.tu.test.queue;   public class Node { int data; Node next;//next node   public Node(int data){ this.data = data; } }   package com.tu.test.queue; ...
wuhoujian322 评论(0) 有720人浏览 2016-09-02 12:12

java高并发编程:4--Java中的阻塞队列

1. 什么是阻塞队列? 阻塞队列(BlockingQueue)是一个支持两个附加操作的队列。这两个附加的操作是:在队列为空时,获取元素的线程会等待队列变为非空。当队列满时,存储元素的线程会等待队列可用。阻塞队列常用于生产者和消费者的场景,生产者是往队列里添加元素的线程,消费者是从队列里拿元素的线程。阻塞队列就是生产者存放元素的容器,而消费者也只从容器里拿元素。 阻塞队列提供了四种处理方法: ...
student_lp 评论(0) 有555人浏览 2016-06-21 11:15

Gecco爬虫框架的线程和队列模型

简述 爬虫在抓取一个页面后一般有两个任务,一个是解析页面内容,一个是将需要继续抓取的url放入队列继续抓取。因此,当爬取的网页很多的情况下,待抓取url的管理也是爬虫框架需要解决的问题。本文主要说的是gecco爬虫框架的队列和线程模型。 线程和队列模型
xtuhcy 评论(0) 有2159人浏览 2016-06-08 10:29

数据结构与算法-队列

数据结构与算法-队列 一、概述            队列也是一种表,是一种先进先出、从队头删除、从队尾删除的一种数据结构。队列这种数据结构在实际的项目中用的也是比较多,比如消息中间件 消息队列等。队列的插入我们称为入队操作。从队列中移除我们称为出队操作。队列和栈一样每个操作都是O(1)                  队列的基本操作有:            1、初始化队列   ...
qq466862016 评论(0) 有811人浏览 2016-06-07 20:23

BlockQueue之ArrayBlockingQueue源码解析

前面我们介绍的LinkedBlockingQueue的源码,这篇文章我们一起研究下ArrayBlockingQueue的源码   (1)LinkedBlockingQueue源码解析 (2)ArrayBlockingQueue源码解析   ...
wang7839186 评论(0) 有1969人浏览 2016-04-28 15:48

BlockQueue之LinkedBlockingQueue源码解析

     最近在研究blockqueue的源码,从今天开始,和大家分享一下我看源码的一些心得体会      (1)LinkedBlockingQueue源码解析      (2)ArrayBlockingQueue源码解析           LinkedBlockingQueue实现了BlockingQueue接口以及Serializable接口,是有序的FIFO队列,构造函数中,可传 ...
wang7839186 评论(0) 有2067人浏览 2016-04-27 18:45

Java中队列FIFO(First-In-First-Out),栈LIFO(Last-In-First-Out)的实现

Deque接口定义了QUEUE(First-In-First-Out)的功能,同时也定义了Stack(Last-In-First-Out)的功能。 java.util.Deque<E> A linear collection that supports element insertion and removal at both ends. The name deque is short ...
darrenzhu 评论(0) 有3640人浏览 2016-03-17 10:44

队列小实现

package cn.smallbug.datastructure.queue; /** * 队列接口 * * @timestamp Feb 23, 2016 3:28:20 PM * @author smallbug * @param <T> */ public interface Queue<T> { /** * 入队列 ...
smallbug_vip 评论(0) 有966人浏览 2016-02-23 17:28

Implement Queue using Stacks

Implement the following operations of a queue using stacks. push(x) -- Push element x to the back of queue. pop() -- Removes the element from in front of queue. peek() -- Get the front element. empty( ...
KickCode 评论(0) 有465人浏览 2016-02-23 03:16

Implement Stack using Queues

Implement the following operations of a stack using queues. push(x) -- Push element x onto stack. pop() -- Removes the element on top of the stack. top() -- Get the top element. empty() -- Return whet ...
KickCode 评论(0) 有606人浏览 2016-02-22 03:21

简析LinkedBlockingQueue类

此类实现了BlockingQueue接口,同时继承了父类AbstractQueue,父类里实现了几个基本方法的调用 add(E e),通过子类的offer(e)具体实现 remove(),通过子类的poll()具体实现 element(),通过子类的peek()具体实现,这几个是常用方法 在LinkedBlockingQueue中,先定义了个Node内部类,这个类是队列中存储的具体的节点类,所以的通 ...
lpbj010 评论(0) 有901人浏览 2015-12-24 13:39

堆栈变体以及栈和队列的相互实现

前面讲到了如何用数组以及链表实现一个基本的堆栈和队列,这篇文章介绍如何实现一个可以在O(1)时间复杂度下得到最小元素的堆栈,以及用堆栈实现一个队列,用队列实现一个堆栈。 1,实现一个可以得到最小元素的堆栈, 要求pop(),push(),getMin()的时间复杂度都为O(1). 如果我们按照普通的思路,类中有两个成员变量,value和minValue,当pop一个元素后,我们就需要更新minV ...
KickCode 评论(0) 有1024人浏览 2015-12-12 09:55

栈和队列的实现

本文主要讲栈和队列的实现方法,所以仅简单介绍栈和队列的概念,如果有疑问可以去查有关栈和队列的详细资料。 栈 Stack(LIFO线性表): 栈是一种特殊的线性表,满足后进先出,它限定仅可以在表尾进行删除和增加。push(), pop(), peek(),empty()是它的三个重要的方法。push()是往栈里压入一个元素;pop()是弹出栈顶元素,栈顶指针指向下一个元素;peek()是返回栈顶元素 ...
KickCode 评论(0) 有1033人浏览 2015-12-01 08:12

队列结构

  队列结构是一种常见的数据结构,从数据的逻辑结构来看是线性结构,从存储结构来说分顺序和链式存储。且队列的两个基本操作是入队列和出队列,在队头进行出队列操作,在队尾进行入队列操作.    队列中操作的对象: public class DATA4 { String name; int age; }  队列的基本操作:   public class SQType { ...
Cb123456 评论(0) 有822人浏览 2015-11-30 10:53

最近博客热门TAG

Java(141747) C(73651) C++(68608) SQL(64571) C#(59609) XML(59133) HTML(59043) JavaScript(54918) .net(54785) Web(54513) 工作(54116) Linux(50906) Oracle(49876) 应用服务器(43288) Spring(40812) 编程(39454) Windows(39381) JSP(37542) MySQL(37268) 数据结构(36423)

博客人气排行榜

    博客电子书下载排行

      >>浏览更多下载

      相关资讯

      相关讨论

      Global site tag (gtag.js) - Google Analytics