
Java基础篇
music猿
这个作者很懒,什么都没留下…
展开
-
Java集合篇02--LinkedList
LinkedList基础public class LinkedList<E> extends AbstractSequentialList<E> implements List<E>, Deque<E>, Cloneable, Serializable(01)是一个继承于AbstractSequentialList的双向链表。它也可以被当作...原创 2019-01-31 15:24:35 · 125 阅读 · 0 评论 -
Java集合篇01--ArrayList
ArrayList 基础public class ArrayList extends AbstractList implements List, RandomAccess, Cloneable, Serializable(01)ArrayList 继承了AbstractList,实现了List。它是一个数组队列,提供了相关的添加、删除、修改、遍历等功能。(02)ArrayList 实现了Ra...原创 2019-01-31 11:13:56 · 111 阅读 · 0 评论 -
Java集合--10Map总结
Map概括HashMap是基于“拉链法”实现的散列表。一般用于单线程程序中。Hashtable也是基于“拉链法”实现的散列表。它一般用于多线程程序中。WeakHashMap也是基于“拉链法”实现的散列表,它一般也用于单线程程序中。相比HashMap,WeakHashMap中的键是“弱键”,当“弱键”被GC回收时,它对应的键值对也会被从WeakHashMap中删除;而HashMap中的键是...原创 2019-02-03 10:36:46 · 159 阅读 · 0 评论 -
Java集合--09TreeMap
知识点:存储结构、同步问题、遍历、红黑树TreeMap基础public class TreeMap<K,V> extends AbstractMap<K,V> implements NavigableMap<K,V>, Cloneable, Serializable {}(01)是一个有序的key-value集合,它是通过红黑树实现的。(02)继承...原创 2019-02-03 09:29:41 · 158 阅读 · 0 评论 -
Java集合--08HashTable
Hashtable基础Hashtable叫哈希表或散列表,是根据关键码值(Key value)而直接进行访问的数据结构,采用的是数据结构中所说的链地址法处理冲突的方法。public class HashTable<K,V> extends Dictionary<K,V> implements Map<K,V>, Cloneable, java.io....原创 2019-02-02 11:12:09 · 118 阅读 · 0 评论 -
Java集合--07HashMap
HsahMap基础Java8 对 HashMap 进行了一些修改,最大的不同就是利用了红黑树,所以其由 数组+链表+红黑树 组成。根据 Java7 HashMap 的介绍,我们知道,查找的时候,根据 hash 值我们能够快速定位到数组的具体下标,但是之后的话,需要顺着链表一个个比较下去才能找到我们需要的,时间复杂度取决于链表的长度,为 O(n)。为了降低这部分的开销,在 Java8 中...原创 2019-02-02 10:47:58 · 164 阅读 · 0 评论 -
Java集合--06WeekHashMap
WeekHashMap基础public class WeakHashMap<K,V> extends AbstractMap<K,V> implements Map<K,V> {} (01)和HashMap一样,WeakHashMap 也是一个散列表,它存储的内容也是键值对(key-value)映射,而且键和值都可以是null。 (02)Weak...原创 2019-02-01 19:28:50 · 216 阅读 · 0 评论 -
Java集合--05Map
Map基础(01)Map 是映射接口,Map中存储的内容是键值对(key-value)。Map映射中不能包含重复的键;每个键最多只能映射到一个值。(02)AbstractMap 是继承于Map的抽象类,它实现了Map中的大部分API。其它Map的实现类可以通过继承AbstractMap来减少重复编码。(03) SortedMap 是继承于Map的接口。SortedMap中的内容是排序的...原创 2019-02-01 11:34:42 · 103 阅读 · 0 评论 -
Java集合04--Stack
Stack基础public class Stack<E> extends Vector<E>Stack是栈。它的特性是:先进后出(FILO, First In Last Out)。java工具包中的Stack是继承于Vector(矢量队列)的,由于Vector是通过数组实现的,这就意味着,Stack也是通过数组实现的,而非链表。当然,我们也可以将LinkedL...原创 2019-01-31 17:38:56 · 96 阅读 · 0 评论 -
java集合03-Vector
Vector基础public class Vector<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializable {}(01)矢量队列,它是JDK1.0版本添加的类。继承于AbstractList,实现了List, Rand...原创 2019-01-31 17:15:44 · 131 阅读 · 0 评论 -
Java集合--ConcurrentHashMap
背景 因为多线程环境下,使用Hashmap进行put操作会引起死循环,导致CPU利用率接近100%,所以在并发情况下不能使用HashMap。 HashTable容器使用synchronized来保证线程安全,但在线程竞争激烈的情况下HashTable的效率非常低下。因为当一个线程访问HashTable的同步方法时,其他线程访问HashTable的同步方法时,可能会进入阻塞或轮...原创 2019-02-13 15:24:20 · 134 阅读 · 0 评论