集合

集合接口有Collection和Map

list:

可以重复,通过使用索引取出或者加入数据,顺序和插入的顺序一致,可以含null元素

ArrayList:

底层数据结构是数组结构array,查询速度快,增删改慢,因为是以类似数组的形式进行储存,因此它的随机访问速度极快

Vector:

底层也是数组结构,查询速度快,增删改慢

ArrayList和Vector的区别:

1.数组长度:当集合中的元素数量大于当前集合数组的长度时,使用Vector

     Vector的增长率是目前数组长度的100%  而ArrayList的增长率是目前数组长度的50%

2.线程同步:ArrayList是线程不同步,Vector线程同步,所以Vector线程安全,但是每个方法上都添加了 synchronized,所以效率会比ArrayList要慢

LinkedList:链表结构,对元素的增删速度快

set:

数据无序且唯一,实现类都不是线程安全的类, 解决方案:Set set = Conllection.synchronizedSet(Set对象)

HashSet:

是set最常用的类,底层是用哈希表算法,底层也是一个数组,查询的速度,插入的速度都比较快,适用于少量数据的插入操作,

判断两个对象是否相等:1.equals比较,2.ha'shCode值相同

要求:存在哈希表中的对象元素都要覆盖equals和hashCode方法

Map接口的特点是:

元素是成对出现的,以键和值的形式体现出来,键要保证唯一性;常用的类有:hashMap,Hashtable,TreeMap

hashMap:线程不安全的,允许存放null键null值

hashtable:线程安全的,不允许存放null键null值

TreeMap:可以对键进行排序

存入元素:

Colletion接口实现类是通过add方法完成,Map是通过put方法完成

取出元素

Collection接口:list接口有两种1.get(元素下标),2.通过Iterator迭代方法获取

                        set接口是通过迭代的方式获取元素

Map接口:先通过keySet获取键的系列,然后通过该系列使用Ietator迭代方式获取元素值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值