STL
菜鸡儿的架构师之路
这个作者很懒,什么都没留下…
展开
-
Java中的STL-Stack
Java中的STL-Stackpublic class Stack<E> extends Vector<E>从Stack的定义来看,它只是在Vector的基础上新增了自己的API,如下。 public E push(E item) { addElement(item); return item;}public synchronized E p...原创 2019-02-27 15:58:04 · 443 阅读 · 0 评论 -
Java中的STL-ConcurrentHashMap
Java中的STL-ConcurrentHashMappublic class ConcurrentHashMap<K,V> extends AbstractMap<K,V> implements ConcurrentMap<K,V>, Serializable 常用API// 创建一个带有默认初始容量 (16)、加载因子 (0.75) 和 co...转载 2019-03-05 20:59:52 · 584 阅读 · 9 评论 -
Java中的STL-LinkedList
Java中的STL-LinkedListLinkedList的继承关系如下图所示Queue接口继承了Collection接口,另外提供了offer(E e)、remove()、poll()等方法完成一个队列的FIFO的基本操作。Deque接口继承了Queue接口,Deque是一个双端队列的接口,可以从前往后,也可以从后往前。LinkedList实际上就是一个双端队列的具体实现,因此它...原创 2019-02-25 23:49:13 · 437 阅读 · 1 评论 -
Java中的STL-fail-fast原理和解决
fail-fastfail-fast是指java集合(Collection)中的一种错误检测机制,多个线程对同一集合的内容进行操作时,就可能产生fail-fast事件。ArrayList中的fail-fast示例当我们利用ArrayList中的iterater()对集合进行遍历操作时,如果其他线程修改了该list,就会报出ConcurrentModificationException异常。下...原创 2019-02-25 17:03:34 · 316 阅读 · 5 评论 -
Java中的STL-Map
Java中的STL01-Map要点Set的实现是基于Map的,HashSet是基于HashMap的,TreeSet是基于TreeMap的。Map的继承关系如下图所示Map接口public interface Map<K,V> { }Map接口中的APIabstract void clear()abstract boolean ...原创 2019-02-25 17:02:13 · 489 阅读 · 0 评论 -
Java中的STL-Collection
Java中的List和Set概述实现、继承和依赖关系如上图所示List 和Set,List中的元素可以重复,Set中的元素不可重复Collection接口List和Set接口都需要继承的接口,内部提供大部分集合需要的函数,如size() contains(…)…等等。Iterator是用来遍历一个集合的接口,提供两个方法,hasNext()、next()。List接口除了继承Col...原创 2019-02-25 17:01:02 · 477 阅读 · 0 评论 -
Java中的STL-Hashtable
Java中的STL-Hashtablepublic class Hashtable<K,V> extends Dictionary<K,V> implements Map<K,V>, Cloneable, java.io.Serializable Hashtable继承Dictionary,实现Map接口Hashtable和HashMap的实现方式很...原创 2019-03-01 11:18:26 · 420 阅读 · 0 评论 -
Java中的STL-HashMap中红黑树的原理和应用
Java中的STL-HashMap中红黑树的原理和应用红黑树我相信大部分程序员对红黑树这个数据结构都不陌生。下面来巩固一下红黑树数据结构。R-B Tree,全称是Red-Black Tree,又称为“红黑树”,它一种特殊的二叉查找树。红黑树的每个节点上都有存储位表示节点的颜色,可以是红(Red)或黑(Black)。它有以下几个特点。1、 每个节点或者是黑色,或者是红色。2 、根节点是黑...原创 2019-02-28 17:06:25 · 4543 阅读 · 0 评论 -
Java中的STL-Vector
Java中的STL-Vectorpublic class Vector<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializable从JDK源码中Vector的声明可以看出Vector 是矢量队列,它是JDK1.0版本添...原创 2019-02-27 15:58:58 · 546 阅读 · 5 评论 -
Java中的STL-HashMap
Java中的STL-HashMappublic class HashMap&amp;lt;K,V&amp;gt; extends AbstractMap&amp;lt;K,V&amp;gt; implements Map&amp;lt;K,V&amp;gt;, Cloneable, Serializable JDK1.8是这样定义的HashMap的,这里我有一个问题。AbstractMap实现了M原创 2019-02-26 23:42:07 · 537 阅读 · 2 评论