随笔分类 -  List,Set,Map

comparator ,重写 compareTo 方法实现按年龄来排序
摘要:ArrayList<Integer> arrayList = new ArrayList<Integer>(); arrayList.add(-1); arrayList.add(3); arrayList.add(3); arrayList.add(-5); arrayList.add(7); a 阅读全文

posted @ 2020-10-20 20:36 潮流教父孙笑川 编辑

hashMap--1.8和1.7的区别。阈值为什么是8,泊松分布。
摘要:JDK1.8 只说与1.7不同的地方,相同的看1.7 https://www.cnblogs.com/q540973436/p/13227018.html 1、 1.8是数组+链表+红黑树,1.7是数组+链表。红黑树查找时,比较的是hash值和key是否equal 2 、 1.8是尾插法,1.7是头 阅读全文

posted @ 2020-07-02 21:29 潮流教父孙笑川 编辑

HashMap---1.7源码阅读
摘要:JDK1.7 注意点:1、缺省值length为空,初始大小默认为16.每次扩容为原来的2倍,负载因子为0.75.扩容阈值为16*0.75=12,是超过12的时候进行扩容 2、数组+链表。冲突时,头插法。先扩容,再插入(1.8先插入再扩容) 3、key为null,且数组不为空,则放在table[0]的 阅读全文

posted @ 2020-07-02 20:47 潮流教父孙笑川 编辑

并发容器类:ConcurrentHashMap
摘要:HashMap 不是线程安全的,在并发场景下如果要保证一种可行的方式是使用 Collections.synchronizedMap() ,但是全局锁效率低。 initialCapacity为16,loadFactor为0.75。默认大小与hashmap相同都是16 jdk1.7版本: Concurr 阅读全文

posted @ 2020-06-16 21:02 潮流教父孙笑川 编辑

CopyOnWriteArrayList,写入时复制
摘要:写入时复制 内部持有一个ReentrantLock lock = new ReentrantLock(); 底层是用volatile transient声明的数组 array CopyOnWriteArrayList: 线程安全的 List,在读多写少的场合性能非常好,远远好于 Vector. Co 阅读全文

posted @ 2020-06-16 21:00 潮流教父孙笑川 编辑

Arrays.asList()使用指南
摘要:Arrays.asList()在平时开发中还是比较常见的,我们可以使用它将一个数组转换为一个List集合。 Arrays.asList()在平时开发中还是比较常见的,我们可以使用它将一个数组转换为一个List集合。 String[] myArray = { "Apple", "Banana", "O 阅读全文

posted @ 2020-03-22 14:46 潮流教父孙笑川 编辑

ArrayList 源码 大小 扩容
摘要:1、ArrayList 非线程安全 Vertor线程安全 2、底层使用的是 Object 数组 3、实现了 RandomAccess 接口,查询是随机访问O(1),插入删除近似O(N) /** * 默认初始容量大小 */ private static final int DEFAULT_CAPACI 阅读全文

posted @ 2019-11-25 22:31 潮流教父孙笑川 编辑

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示