随笔分类 -  集合

描述自己对集合这块内容的理解
摘要:#jdk1.7 ##数据结构 1.7的时候底层是由segments数组+HashEntry数组+链表组成的,在1.8的时候又不同。 // segments数组 final Segment<K,V>[] segments; static final class Segment<K,V> extends 阅读全文
posted @ 2020-08-22 22:52 jealous-boy 阅读(123) 评论(0) 推荐(0)
摘要:#前言 我们知道HashMap是线程不安全的,那么当我们要在多线程的情况下,应该怎么办呢? 在多线程场景下,我们一般采用下面的几种方式去创建线程安全的map集合 采用Collections.synchronizedMap(Map) 采用Hashtable 采用ConcurrentHashMap 通常 阅读全文
posted @ 2020-08-22 21:58 jealous-boy 阅读(123) 评论(0) 推荐(0)
摘要:#ArrayList ArrayList就是数组列表,是一个动态数组,其容量能自动增长。 特点:查询效率高,增删效率低,线程不安全,日常使用频率高。 public class ArrayList<E> extends AbstractList<E> implements List<E>, Rando 阅读全文
posted @ 2020-08-20 15:21 jealous-boy 阅读(172) 评论(0) 推荐(0)
摘要:#jdk1.7中的HashMap ##扩容部分源码 扩容分为两步 1.创建一个数组容量为原来2倍的HashMap 2.遍历旧的Entry数组,把所有的Entry重新Hash到新数组 在开始之前我们先看一下扩容部分的源码 void transfer(Entry[] newTable, boolean 阅读全文
posted @ 2020-07-07 10:20 jealous-boy 阅读(855) 评论(2) 推荐(1)