From 237d88199b4af3d6b7bf12fc70cd0ac4a82bac9c Mon Sep 17 00:00:00 2001 From: CyC2018 <1029579233@qq.com> Date: Fri, 23 Mar 2018 20:53:33 +0800 Subject: [PATCH] auto commit --- notes/Java 容器.md | 29 +++++++++++++++++------------ notes/Java 并发.md | 1 + pics/java-collections.png | Bin 0 -> 11264 bytes pics/java-collections1.png | Bin 0 -> 8192 bytes 4 files changed, 18 insertions(+), 12 deletions(-) create mode 100644 pics/java-collections.png create mode 100644 pics/java-collections1.png diff --git a/notes/Java 容器.md b/notes/Java 容器.md index 07cfed1a..f660fa59 100644 --- a/notes/Java 容器.md +++ b/notes/Java 容器.md @@ -1,8 +1,6 @@ * [一、概览](#一概览) - * [List](#list) - * [Set](#set) - * [Queue](#queue) + * [Collection](#collection) * [Map](#map) * [Java 1.0/1.1 容器](#java-1011-容器) * [二、容器中的设计模式](#二容器中的设计模式) @@ -23,17 +21,13 @@ # 一、概览 -

- 容器主要包括 Collection 和 Map 两种,Collection 又包含了 List、Set 以及 Queue。 -## List +## Collection -- ArrayList:基于动态数组实现,支持随机访问; +

-- LinkedList:基于双向循环链表实现,只能顺序访问,但是可以快速地在链表中间插入和删除元素。不仅如此,LinkedList 还可以用作栈、队列和双端队列。 - -## Set +### 1. Set - HashSet:基于 Hash 实现,支持快速查找,但是失去有序性; @@ -41,12 +35,22 @@ - LinkedHashSet:具有 HashSet 的查找效率,且内部使用链表维护元素的插入顺序,因此具有有序性。 -## Queue +### 2. List -只有两个实现:LinkedList 和 PriorityQueue,其中 LinkedList 支持双向队列,PriorityQueue 是基于堆结构实现。 +- ArrayList:基于动态数组实现,支持随机访问; + +- LinkedList:基于双向循环链表实现,只能顺序访问,但是可以快速地在链表中间插入和删除元素。不仅如此,LinkedList 还可以用作栈、队列和双端队列。 + +### 3. Queue + +- LinkedList:可以用它来支持双向队列; + +- PriorityQueue 是基于堆结构实现。 ## Map +

+ - HashMap:基于 Hash 实现。 - LinkedHashMap:使用链表来维护元素的顺序,顺序为插入顺序或者最近最少使用(LRU)顺序。 @@ -418,3 +422,4 @@ private V putForNullKey(V value) { # 五、参考资料 - Java 编程思想 +- [Java Collection Framework](https://www.w3resource.com/java-tutorial/java-collections.php) diff --git a/notes/Java 并发.md b/notes/Java 并发.md index cff33bb9..59813682 100644 --- a/notes/Java 并发.md +++ b/notes/Java 并发.md @@ -927,3 +927,4 @@ public static String concatString(String s1, String s2, String s3) { - [线程通信](http://ifeve.com/thread-signaling/#missed_signal) - [Java 线程面试题 Top 50](http://www.importnew.com/12773.html) - [BlockingQueue](http://tutorials.jenkov.com/java-util-concurrent/blockingqueue.html) +- [thread state java](https://stackoverflow.com/questions/11265289/thread-state-java) diff --git a/pics/java-collections.png b/pics/java-collections.png new file mode 100644 index 0000000000000000000000000000000000000000..6a68af894332e194fb3189da4036f6907b1db6c1 GIT binary patch literal 11264 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 literal 0 HcmV?d00001 diff --git a/pics/java-collections1.png b/pics/java-collections1.png new file mode 100644 index 0000000000000000000000000000000000000000..852282effa54fc6ea39411f9c4656fe8dd8dd82b GIT binary patch literal 8192 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 brL9t<^gjH*`v0%~|EvH1+|&QR>HmKKwKL$b literal 0 HcmV?d00001