java集合类常用概念

 Collection与Map是集合类的两大接口

集合 :集合只用于存储对象,集合长度是可变的,集合可以存储不同类型的对象
数组:数组长度一旦确定不可改变,数组中即可以存储对象,又可以存储基本类型数值
                             


上面两张图是Collection与Map接口的一些实现类。

   

                          java可以把所有集合分成三大类
1.Set集合就像一个箱子,是无序,不可重复的,Set集合无法记住添加元素的顺序,所以Set的元素不可重复(否则系统无法准确识别这个元素),访问Set元素的集合元素,只能根据元素本身访问(所以元素不可重复)
2.List集合非常像一个数组,是有序,可重复的,默认按照元素的添加顺序设置索引,通过索引来找到元素的位置,所以才说List集合跟数组类似
3.Map是用于保留具有映射关系的数组(key—value),key与value之间存在一对一关系,key不可以重复,value可以重复,因为是通过指定的key才能找到唯一,确定的value,Map也是无序的,因为Map跟Set非常类似,可以说Map的key是相当于Set,只不过Map还增多了value
4.Queue用于模拟队列这种数据,队列通常是“先进先出“,与栈类似,先进来的元素存放最久,最后进来的就快被踢出去。
5.四种集合Set,List,Map,Queue比较常用的实现类有HashSet,TreeSet ,ArrayLsit,ArrayDueue,LinkedLsit,HsahMap,
我会比较简单介绍下它们的用途
  • HsahSet :是Set接口典型得实现类,因为继承Set集合,所以它是不无序的,不保证排列顺序,按照Hsah算法来存储集合元素,拥有比较很好的存取与查找性能。
  • TreeSet:是二叉树(红黑树的数据结构)实现,根据其元素的自然排序进行排序,不允许为null,因为需要维护二叉树,性能比HsahSet低,一般需要排序才用TreeSet,不然都使用HashSet
  • ArrayList:相当于一个动态数组,当数组不够长,再重分配数组,是有序,可重复,允许为null,通过索引(数组下标)能快速访问元素,但删除添加比较性能比较差
  • ArrayDeque:与ArrayList实现机制一样,但ArrayDeque相当于一个双端队列,可从两端操作队列
  • LinkedList:是以接口链表来实现的,可以当作栈,双端队列来使用,是可重复,保存插入顺序,在插入删除更优于ArrayList,查询访问却比ArrayList差
  • HashMap: 基于哈希表的 Map 接口的,是Key-Value 对的映射,该映射不包括重复的键,即一个键对应一个值,不保证顺序不变,只允许,可以说是数组与链表的结合体

总结:这些资料是我在书上和网上找的Collection集合类的一些比较常用实现类的一些概念,本人也是第一次写博客,如果有什么不好的或者错误地方,希望可以指出来,请各位多多包涵大笑大笑


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值