JAVA中列表,集合之间的区别

整体来看List,Set,Map都是实现了Collection接口的接口。

  1. 重复性:
  • List允许存在重复的元素,也就是说List中可以在不影响现有元素的值及其索引的同时插入新的重复元素。
  • Set不允许存在重复的元素,Set集合都不允许插入重复元素。
  • Map是一种以键值对形式存储元素的映射类型集合,对Map而言key(键)是唯一的,value(值)是可重复的。
空值性:
  • List允许任意数量的空值。
  • Set最多允许一个空值。
  • Map只允许出现一个空键,但允许任意数量的空值。
排序性:
  • List保持每个元素的插入顺序。
  • Set中的元素都是无序的,但某些Set的实现类可以以某种顺序对其中的元素进行排序。(PS:LinkedHashSet按照元素的插入顺序进行排序。)
  • Map与Set一样对元素惊醒无序存储,但Map某些实现类也会对元素进行排序。(PS:TreeMap按照键对其中的元素进行升序排序,LinkedHashMap按照每个元素的插入顺序进行排序)
实现类:
  • List:ArrayList、LinkedList等等。
  • Set:HashSet、LinkedHashSet、TreeSet、SortedSet等等。
  • Map:HashMap、TreeMap、WeakHashMap、LinkedMashMap、IdentityHashMap等等。
使用场景:
  • 如果需要时常根据元素的索引值进行查询操作,那么List(ArrayList)是一种不错的选择。
  • 如果你的数据不允许重复的值存在,Set是比较适合的选择。
  • 如果需要保留每个元素的插入顺序,那么首选还是List集合。
  • 如果你的数据需要进行key-value映射,那么就用Map。

原文引用:JAVA教程

转载于:https://www.cnblogs.com/ldy-blogs/p/8487558.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值