目录: java 容器都有哪些? Collection 和 Collections 有什么区别? List、Set、Map 之间的区别是什么? HashMap 和 Hashtable 有什么区别? 如何决定使用 HashMap 还是 TreeMap? 说一下 HashMap 的实现原理? 说一下 H ...
分类:
编程语言 时间:
2019-12-23 13:30:37
阅读次数:
92
一、Properties 概述 Properties 是Hashtable的子类,不允许key和value是null,并且它的key和value的类型都是String。 二、常用方法 1、构造方法 Properties():创建一个无默认值的空属性列表。 Properties(Properties ...
分类:
编程语言 时间:
2019-12-22 16:48:26
阅读次数:
148
Properties概述 java.util.Properties类 继承于 Hashtable ,来表示一个持久的属性集。它使用键值结构存储数据,每个键及其对应值都是一个字符串。该类也被许多Java类使用,比如获取系统属性时,System.getProperties 方法就是返回一个 Proper ...
分类:
编程语言 时间:
2019-12-21 21:01:13
阅读次数:
442
1.定义: 添加枚举类元素的专用集合类 2.与其他集合类区别: EnumSet内部实现不使用常见的数据结构,比如数组(ArrayList),链表(LinkedList),哈系表(HashMap、Hashtable、HashSet),红黑树(TreeMap、TreeSet)而是使用位运算完成集合的基本 ...
分类:
编程语言 时间:
2019-12-21 20:55:03
阅读次数:
98
AVL树 前中后遍历 树的遍历深度和广度 树是一种特殊的图 人脉关系属于图数据结构; 并查集 最小生成树 union find 正常图的遍历用广度也能做,但是速度低; 并查集可以降到logn 数据小的话,可以用一个二维数组 认识就是1,不认识就是0 然后用递归的方式,做一个深度遍历 动态规划 NP问 ...
分类:
其他好文 时间:
2019-12-20 22:26:23
阅读次数:
117
https://juejin.im/post/5df8d7346fb9a015ff64eaf9 HashMap在多线程环境下存在线程安全问题怎么解决 使用Collections.synchronizedMap(Map)创建线程安全的map集合; Hashtable ConcurrentHashMap ...
分类:
其他好文 时间:
2019-12-19 20:51:49
阅读次数:
76
HashMap 内部结构 内部是一个Node数组,每个Node都是链表的头,当链表的大小达到8之后链表转变成红黑树。 put操作 流程可以概括为:如果Node数组为空则先按照默认容量初始化数组。利用计算得到的hsah值确定数组下标, 1. 如果下标所在位置的Node为null,则直接新创建节点放在此 ...
分类:
其他好文 时间:
2019-12-17 17:53:14
阅读次数:
98
对象共享 synchronized 设定原子性确定临界区 + 内存可见性 要解决如下问题 防止一个线程在使用对象状态而另一个线程在修改对象状态;且当一个线程修改了对象状态后,对其他线程可见。 可见性 多线程情况下的读写,无法保证在执行读操作时能够看到其他线程写入的值 同步机制解决 造成可见性的原因之 ...
分类:
编程语言 时间:
2019-12-17 14:50:06
阅读次数:
85
常用的集合的继承树 注:Map接口的数据结构和Collection接口设定的数据类型不同 继承接口Collection: List接口、Set接口、Queue接口、以及抽象类AbstractCollection 此处的设计思路:先定义一个具有特定特征的、抽象度很高的Collection接口,之后不同 ...
分类:
编程语言 时间:
2019-12-16 22:34:28
阅读次数:
110
5 并发容器 5.1 Hashtable、HashMap、TreeMap、HashSet、LinkedHashMap 在介绍并发容器之前,先分析下普通的容器,以及相应的实现,方便后续的对比。 Hashtable、HashMap、TreeMap 都是最常见的一些 Map 实现,是以 键值对 的形式存储 ...
分类:
编程语言 时间:
2019-12-15 18:10:54
阅读次数:
86