List,Set,Map,Arraylist,LinkList,vertory的区别和应用场景

list、set、map的区别
list和set都是继承collection接口,map不是
list数据是有放入顺序的,数据可以重复,set是无放入顺序的,顺序是根据该数据的hashcode
决定的,set中的数据不可重复,重复将会覆盖;
list支持for循环和下标遍历,因为是有序的,set只能通过迭代器遍历
set检索数据效率不高,插入删除效率高,并且不会引起数组的位置变化
list可以动态增长,查找效率高,插入删除效率低下,因为会引起数据位置的变化
map适合存储键值对数据
线程安全方面:
lingklist、ArrayList和HashSet是非线程安全的,vectory是线程安全的;

hashmap是非线程安全的,hashtable是线程安全的;

ArrayList 和 LinkedList 的区别和应用场景
ArrayList
优点,ArrayList实现了基于动态数组的数据结构,因为是连续放置的,所以查询的效率很高
缺点:因为是连续放置的,插入删除的时候需要移动数据,效率低下
LinkedList
有点:LinkedList是基于链表的数据结构,因为数据存放位置不是连续的,删除和插入占优势
缺点:查询的时候需要移动指针,效率低下
适用的场景,当对数据进行查询的时候,需要用ArrayList,要对数据进行多次删除增加的时候
用LinkedList有优势;


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值