From dcb54fde16aa47430958c1936dd275c85b7b3738 Mon Sep 17 00:00:00 2001
From: Sooxin <16705366+sooxin@users.noreply.github.com>
Date: Fri, 25 Jan 2019 10:47:33 +0800
Subject: [PATCH] correct method name
---
.../\351\233\206\345\220\210\345\244\204\347\220\206.md" | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git "a/p3c-gitbook/\347\274\226\347\250\213\350\247\204\347\272\246/\351\233\206\345\220\210\345\244\204\347\220\206.md" "b/p3c-gitbook/\347\274\226\347\250\213\350\247\204\347\272\246/\351\233\206\345\220\210\345\244\204\347\220\206.md"
index 09438a803..0127dffce 100644
--- "a/p3c-gitbook/\347\274\226\347\250\213\350\247\204\347\272\246/\351\233\206\345\220\210\345\244\204\347\220\206.md"
+++ "b/p3c-gitbook/\347\274\226\347\250\213\350\247\204\347\272\246/\351\233\206\345\220\210\345\244\204\347\220\206.md"
@@ -68,7 +68,7 @@ List list = Arrays.asList(str);
说明:HashMap使用HashMap(int initialCapacity) 初始化,
正例:initialCapacity = (需要存储的元素个数 / 负载因子) + 1。注意负载因子(即loader factor)默认为0.75,如果暂时无法确定初始值大小,请设置为16(即默认值)。
反例:HashMap需要放置1024个元素,由于没有设置容量初始大小,随着元素不断增加,容量7次被迫扩大,resize需要重建hash表,严重影响性能。
10. 【推荐】使用entrySet遍历Map类集合KV,而不是keySet方式进行遍历。
-
说明:keySet其实是遍历了2次,一次是转为Iterator对象,另一次是从hashMap中取出key所对应的value。而entrySet只是遍历了一次就把key和value都放到了entry中,效率更高。如果是JDK8,使用Map.foreach方法。
+
说明:keySet其实是遍历了2次,一次是转为Iterator对象,另一次是从hashMap中取出key所对应的value。而entrySet只是遍历了一次就把key和value都放到了entry中,效率更高。如果是JDK8,使用Map.forEach方法。
正例:values()返回的是V值集合,是一个list集合对象;keySet()返回的是K值集合,是一个Set集合对象;entrySet()返回的是K-V值组合集合。
11. 【推荐】高度注意Map类集合K/V能不能存储null值的情况,如下表格:
@@ -82,4 +82,4 @@ List list = Arrays.asList(str);
反例: 由于HashMap的干扰,很多人认为ConcurrentHashMap是可以置入null值,而事实上,存储null值时会抛出NPE异常。
12. 【参考】合理利用好集合的有序性(sort)和稳定性(order),避免集合的无序性(unsort)和不稳定性(unorder)带来的负面影响。
说明:有序性是指遍历的结果是按某种比较规则依次排列的。稳定性指集合每次遍历的元素次序是一定的。如:ArrayList是order/unsort;HashMap是unorder/unsort;TreeSet是order/sort。
-13. 【参考】利用Set元素唯一的特性,可以快速对一个集合进行去重操作,避免使用List的contains方法进行遍历、对比、去重操作。
\ No newline at end of file
+13. 【参考】利用Set元素唯一的特性,可以快速对一个集合进行去重操作,避免使用List的contains方法进行遍历、对比、去重操作。