List、Map、Set三个接口的特点与区别

List、Map、Set三个接口的特点与区别

掌握三个接口的特点与区别


特点

  • List与Set具有相似性,它们都是单列元素的集合,所以,他们又一个共同的父接口——Collection。set里面不允许有重复的元素,即不能有两个相等的对象。假设Set集合中有了一个A对象,现在我要向Set集合存一个B对象,但B对象与A对象equals相等,则B对象存储不进去。所以,Set集合的add有一个Boolean的返回值,当集合中没有某个元素,此时add方法可以成功加入该元素并返回true,反之返回false。
  • list表示有先后顺序的集合,当我们多次调用add(Obj e)方法时,每次加入的对象都是有顺序的,按照先来后到的顺序排序,当然也可以插队,调用add(int index,Obj e)方法,一个对象可以返回存储进List中,List除了可以用iterator接口获取所有的元素,还可以调用get(index i)来明确的取第几个。
  • Map与List和Set不同,它是双列的集合,其中有put方法,put(obj key,obj value),每次存储要存储一对key/value,不能存储重复的key,这个重复的规则也是按equals比较相等。

区别

共同点:

  • 都是常用的容器,都是借口

不同点:

  • 储存结构不同:List和Map是存储单列的集合,Map存储的是key/value键值对的集合
  • 元素是否可以重复:List允许重复,Map允许value重复,Set不允许重复
  • 是否有序:List有序,Map无序,Set无序

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值