随笔分类 -  Java数据结构

摘要:ArrayBlockingQueue实现,有容量限制的阻塞队列,实现原理如下class BoundedBuffer { final Lock lock = new ReentrantLock(); final Condition notFull = lock.newCondition(); final Condition notEmpty = lock.newCondition(); final Object[] items = new Object[100]; int putptr, takeptr, count; public void put(Object ... 阅读全文
posted @ 2014-01-28 14:05 大新博客 阅读(346) 评论(0) 推荐(0) 编辑
摘要:LinkedList List接口的链接列表实现实现所有可选的列表操作,并且允许所有元素(包括 null)。除了实现 List 接口外,LinkedList 类还为在列表的开头及结尾 get、remove 和 insert 元素提供了统一的命名方法。这些操作允许将链接列表用作堆栈、队列或双端队列。对于LinkedList本身而言,数据结构就更简单了,除了一个size用来记录大小外,只有head一个元素Entry。对比Map和Queue的其它数据结构可以看到这里的Entry有两个引用,是双向的队列。在示意图中,LinkedList总是有一个“傀儡”节点,用来描述队列“头部”,但是并不表示头部元素 阅读全文
posted @ 2014-01-27 16:37 大新博客 阅读(731) 评论(0) 推荐(0) 编辑
摘要:ArrayDeque是一个基于数组的,非线程安全的,没有容量大小限制的双端队列实现下面这张图就是添加了一些元素的数据结构图,其中head指向数据结构中的头部元素,tail指向数据结构中最后一个元素。当head = tail时候进行扩容。扩容后的数据结构按照原来的先后顺序重新排列并且重新设置head与tail的值扩容后再次添加元素addFirst,这按照以前的方式存储。 阅读全文
posted @ 2014-01-27 15:26 大新博客 阅读(649) 评论(0) 推荐(0) 编辑
摘要:TreeMap 的实现就是红黑树数据结构,也就说是一棵自平衡的排序二叉树,这样就可以保证当需要快速检索指定节点。TreeSet 和 TreeMap 的关系为了让大家了解 TreeMap 和 TreeSet 之间的关系,下面先看 TreeSet 类的部分源代码: public class TreeSet extends AbstractSet implements NavigableSet, Cloneable, java.io.Serializable { // 使用 NavigableMap 的 key 来保存 Set 集合的元素 private transient ... 阅读全文
posted @ 2013-09-23 21:55 大新博客 阅读(1094) 评论(0) 推荐(0) 编辑
摘要:http://www.java3z.com/cwbwebhome/article/article8/83560.html?id=4649┆回首页Java中文网址大全┆SCJP在线测试┆学习笔记┆java文摘┆源码下载┆Java实例┆Java教学┆J2me学习┆留言板站内资源搜索:┆ 将本文寄给朋友哈希表(HashMap)分析及实现(JAVA)下载源代码〖 作者:java_mzd 〗〖 大小:2k 〗〖 发布日期:2012-09-23 〗〖 浏览:5 〗探讨Hash表中的一些原理/概念,及根据这些原理/概念,自己设计一个用来存放/查找数据的Hash表,并且与JDK中的HashMap类进行比较。我 阅读全文
posted @ 2013-09-19 21:58 大新博客 阅读(383) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示