list,set与map区别

list
list有三个:简单说明下
Arraylist:采用的数组,查询效率高,修改的效率低,线程不安全
Linkedlist:采用的是链表的形式,大概分为两种,一种是栈,先进后出,还有一种是队列,先进先出。查询效率低,修改效率高(通过修改链表节点),线程不安全
Vector:查询,修改效率低,线程安全
三个list都是通过添加顺序确定顺序的

set:
set说两个主要的:
hashset;
通过哈希表确定顺序,然后用hashcode进行哈希值比较,相同则进一步用equels方法进行比较,然后去重复
桶排序,查询速度快,线程不安全
treeset:
通过comparato()方法来排序,通过判断大小,相同则去重复
存取速度快,红黑树判断位置,自然排序

map:(k,y)
判断键是否相等,去重复时,键是旧键,值是新值
说两个:
hashset;键,值都可以是null
通过哈希表确定顺序,然后用hashcode进行哈希值比较,相同则进一步用equels方法进行比较,然后去重复
存取速度快,线程不安全

treemap;键不能是null
通过comparato()方法来排序,通过判断大小,相同则去重复
红黑树判断位置,自然排序
hashtable;
线程不安全,查询修改效率低

三者区别;
list没有排序,而set和map会根据子类特有的方法排序。list可以有重复元素,set和map没有重复元素(去重复也是根据子类情况而定)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值