三大集合介绍

继承树:
Collection
├List
│├LinkedList
│├ArrayList
│└Vector
│ └Stack
└Set
Map
├Hashtable
├HashMap
└WeakHashMap
设计集合目的:
List 实现可以自动扩展的有序数组
set实现没有重复的无序数组
TreeSet,TreeList,TreeMap 实现自动排序的组数
Map实现键值对存储
各种集合的特点:
1.ArrayList:
可变数组、查询速度快、尾部增删改速度快、其他部位增删改速度慢、非同步、线程不安全
2.LinkedList
双向链表、查询速度慢、两端增删改速度快、非同步、线程不安全
3.HashMap
键值对存储、可以有一个键为null、多个值为null、hash数组的默认大小是16,而且一定是2的指数、非同步、线程不安全
4.HashTable
键值对存储、键值均不可为null、hash数组默认大小是11、增加的方式是 old*2+1、同步、线程安全
5.HashSet
元素的排列顺序有可能发生变化、集合元素可以是null,但只能放入一个null、非同步、线程不安全
6.TreeSet
存储值、不能有重复对象、集合元素处于排序状态,支持两种排序方式,自然排序和定制排序,其中自然排序为默认的排序方式、通过equals方法实现、定制排序通过CompareTo方法实现、非同步、线程不安全
7.TreeMap
存储键值对、可以有重复对象、其余和TreeSet一致、非同步、线程不安全
8.WeekHashMap
HashMap的增强版、弱引用、可以用来访问对象,但进行垃圾回收时弱引用并不会被考虑在内,仅有弱引用指向的对象仍然会被GC回收。
应用选择:
追求速度就选择非同步线程不安全的集合、追求线程安全就使用同步线程安全的集合。当然,非同步线程不安全的集合也可以通过增加同步锁的方式保证线程安全。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值