list,set,map之间的区别

**LinkedList:**是双向链表的数据结构存储数据,在做查询时会按照序号索引数据进行前向或后向遍历,查询效率偏低,但插入数据时只需要记录本项的前后项即可,所以插入速度较快。
Map 未继承Collection,而是独立的接口,Map是一种把键对象和值对象进行映射的集合,它的每一个元素都包含了一对键对象和值对象,Map中存储的数据是没有顺序的,其key是不能重复的,它的值是可以有重复的。
List的实现类有ArrayList,Vector和LinkedList:
ArrayList和Vector 内部是线性动态数组结构,在查询效率上会高很多,Vector是线程安全的,相比ArrayList线程不安全的,性能会稍慢一些。
LinkedList:是双向链表的数据结构存储数据,在做查询时会按照序号索引数据进行前向或后向遍历,查询效率偏低,但插入数据时只需要记录本项的前后项即可,所以插入速度较快。
Set的实现类有HashSet和TreeSet;
HashSet:内部是由哈希表(实际上是一个 HashMap 实例)支持的。它不保证set元素的迭代顺序。
Hashtable:内部存储的键值对是无序的是按照哈希算法进行排序,与HashMap最大的区别就是线程安全。键或者值不能为null,为null 就会抛出空指针异常。
Hashtable:内部存储的键值对是无序的是按照哈希算法进行排序,与HashMap最大的区别就是线程安全。键或者值不能为null,为null 就会抛出空指针异常。
TreeMap:基于红黑树(red-black tree)数据结构实现,按key排序,默认的排序方式是升序。
LinkedHashMap:有序的Map集合实现类,相当于一个栈,先put进去的最后出来,先进后出。
List和Map区别?
一个是存储单列数据的集合,另一个是存储键和值这样的双列数据的集合,List中存储的数据是有顺序,并且允许重复;Map中存储的数据是没有顺序的,其key是不能重复的,它的值是可以有重复的。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值