java三大集合框架---List,Set,Map

List
list接口继承了Collection接口;
list集合为列表类型,以元素进入的特定顺序按线性方式存储元素,可以通过对象的索引操作对象;


List的三大实现类:

ArrayList:ArrayList实现的List集合采用数组结构保存对象,便于堆积和进行快速的随机访问,不适用于在指定位置插入或删除元素,因为当要删除或增加指定位置的元素 时,其后的所有元素都要进行移动

LinkedList:LinkedList实现的List集合采用链表结构保存对象,便于向集合插入和删除对象,随机访问对象的数度较慢,因为当删除或增加元素时,只需修改链接的位置,不用移动对象

Vector:Vector实现的List集合采用可增长的对象数组保存对象Vector的大小可以根据需要增大或减小

,以适应创建Vector后进行添加或移除项的操作

 

其中ArrayList与LinkedList的实现都不是同步的,Vector的实现是同步的

 

List总结:   

1. 所有的List中只能容纳单个不同类型的对象组成的表,而不是Key-Value键值对。例如:[ tom,1,c ];   

2. 所有的List中可以有相同的元素,例如Vector中可以有 [ tom,koo,too,koo ];   

3. 所有的List中可以有null元素,例如[ tom,null,1 ];   

4. 基于Array的List(Vector,ArrayList)适合查询,而LinkedList(链表)适合添加,删除操作

 

Set

set不包含重复元素的collection,set是无序的集合

set三大实现类:

HashSet:  HashSet按Hash算法来存储集合的元素,因此具有很好的存取和查找性能,HashSet的实现不是同步的,HashSet中集合元素值可以使null。

TreeSet:TreeSet是SortedSet接口的唯一实现,TreeSet可以确保集合元素处于排序状态(元素是有序的)。

 

Set总结:

1.Set实现的基础是Map(HashMap);

2.Set中的元素是不能重复的,如果使用add(Object obj)方法添加已经存在的对象,则会覆盖前面的对象

 

Map

Map提供key到value的映射。一个Map中不能包含相同的key,每个key只能映射一个value

 

Map的两大实现类

HashMap:HashMap是线程安全的,HashMap可以使用null作为key或value

Hashtable:HashTable是线程不安全的,Hashtable不允许使用null作为key和value,如果为null,则引发NullPointerException异常

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值