集合知识补充
介绍
1.都是collection类下,4大:mao,set,list,queue。
arry是动态的。其实和int[]a=new int[100]差不多,都是基于下表。




数组和列表的主要区别在于空间地址是否连续

arrylist有扩容,是可以不断扩大的

快速失败与安全失败
快速失败
迭代循环的modcount就算用于快速失败的检查机制。
安全失败:


排序
类中有一个继承Object的函数,comporeTo。大于返回正值。。。

Comparator 定制排序:
Collection.sort加2个参数,一个是数组,一个是comparator的new然后再其中更改排序规则

comporeable
接口

重写方法:

第二种

无序性和不可重复性

1.FIFO:是指先进先出
2.有序
都是不重复且线程不安全的

queue单向队列,dqueue双向队列



Map

hashmap扩容后,原来元素的位置会改变。



主要由于操作的原子性无法被保证。查询确定和执行操作2部分被分隔了


ConcurrentHashMap
分割分段减少竞争


锁粒度更小,hashtable是全表锁,适合低并发情景
是sy加cas+node(分节点)来保证上锁的线程安全

二义性:所以不建议存储空值

为了保证线程的安全不允许存入空值

阿里巴巴开发手册



去重



浙公网安备 33010602011771号