List,Set和Map的特征

List,Set和Map都是一种集合,但是List和Set都是继承Collection接口,而Map不是继承Collection接口。

List能够实现两个子接口,分别是ArrayList和LinkedList,ArrayList的特征是:get和set调用花费常数时间,但是在新项的插入和现有项的删除代价昂贵,除非是在末端执行。LinkedList的特征则恰恰相反:对新项的插入和现有项的删除开销很小,但是对get和set的调用昂贵。

Set接口能够实现三个子接口,分别是HashSet,TreeSet和LinkedHashSet。在这三个接口里面,HashSet的速度是最快的,但是没有明显的顺序保存元素,并且集合元素可以是null,但又只能放入一个null。TreeSet虽然速度没有HashSet的快,但是它可以按照编辑结果升序用来保存对象;而LinkedHashSet则是能够按照被添加的顺序保存对象。

Map接口同样能够实现三个子接口,分别是HashMap,TreeMap,LinkedHashMap。HashMap提供了最快的访问技术,但是却没有明显的顺序保存元素,它的元素是无序的;而TreeMap虽然没有提供最快的访问技术,但是它的保存是按照比较结果的升序以此来保存键值的;LinkedHashMap不但保留了HashMap的查询速度,还能够按照插入顺序以此保存键值。

LIst的特征:List是一个有序的容器,插入的顺序和输出的顺序是一致的,而且是可以允许拥有多个重复的元素和null元素。

Set的特征:Set是一个无序容器,它不可以出现重复元素,一旦出现则覆盖前面的元素,允许null元素,但是只能允许一个null元素。

Map的特征:Map是一个无序容器,它的存储方式是键值对存储,它的键值必须唯一,而且只能允许只有一个null值,但是它的值是可以重复,并且是可以允许多个null元素。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值