集合
jiang_zf
这个作者很懒,什么都没留下…
展开
-
list通过stream转map报错
如下图所示,在做组装map的时候报错了。 原因就是因为组装的键值对有为null的原因,虽然hashmap允许key和value都为null。原创 2020-06-22 23:20:00 · 651 阅读 · 0 评论 -
java.lang.UnsupportedOperationException 原因解析
List list = Collections.singletonList("1"); list.remove("1"); //报错 java.lang.UnsupportedOperationException list.add("2"); //报错 java.lang.UnsupportedOperationException String[] ordinaryArray = {"11", "22", "33"}; List list = Arrays.asList(ordinaryArra..原创 2020-06-22 23:00:35 · 375 阅读 · 0 评论 -
HashSet--JDK1.8源码分析
关于HashMap的源码解读,可参考https://blog.csdn.net/jiang_zf/article/details/104532186 一、一些变量介绍 //用来存储元素,从这里也可以看出来,hashset内部是以hashmap实现的 private transient HashMap<E,Object> map; //定义一个常量,在向m...原创 2020-03-01 10:26:49 · 215 阅读 · 0 评论 -
Hashtable--JDK1.8源码分析
一、一些变量介绍 //存储键值对的数组 private transient Entry<K,V>[] table; //键值对总数 private transient int count; //容量的阈值,超过此容量将会扩容。 private int threshold; //负载因子 p...原创 2020-02-29 18:24:24 · 175 阅读 · 0 评论 -
LinkedHashMap--JDK1.8源码分析
LinkedHashMap继承自HashMap,很多操作都是跟HashMap一样,对于一样的地方就不再介绍,详细可参考HashMap - - JDK1.8 源码分析 ,下面主要介绍一下不同的地方。 数据结构 首先列出几个需要知晓的实例变量含义: final boolean accessOrder;//该变量表示是否需要按照读取顺序排序;true为是,false为否,当为false...原创 2020-02-29 16:24:36 · 197 阅读 · 0 评论 -
HashMap - - JDK1.8 源码分析
一、 默认常量 static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; // 默认数组长度16 static final int MAXIMUM_CAPACITY = 1 << 30; // 最大数组容量2^30(为什么不能是2^31,因为2^31意味着需要占用32位,而最高位一般标识正负状态值) static final...原创 2020-02-27 16:12:05 · 166 阅读 · 0 评论