集合框架概述

          广义而言,数组也可以看作是一种“集合”-使用数组可以实现数据的批量组织操作功能。但数组并不能满足所有方面的需要,比如当集合中数据的数目不定,且频繁增减时,或者需要以“指定元素下标”以外的更灵活方式检索集合元素时,使用数组实现会很烦琐。从体系上来讲,集合类型可以归纳为三种:集,列表和映射

        Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Elements)。一些Collection允许相同的元素而另一些不行。一些能排序而另一些不行。Java SDK不提供直接继承自Collection的类,Java SDK提供的类都是继承自Collection的“子接口”如List和Set。

       集(Set)对应了数学上“集合”的概念,是最简单的一种集合,Set集合的重要特性是:
              1.Set集合中不区分元素的顺序(当然也就不记录元素的加入顺序)
              2.Set集合中不允许出现重复元素。这里所谓的“重复元素”是指按照equals()方法判断为等价的对象。

       API中解释

       Set是一个不包含重复元素的 collection。更确切地讲,set 不包含满足 e1.equals(e2) 的元素对 e1 和 e2,并且最多包含一个 null 元素。正如其名称所暗示的,此接口模仿了数学上的 set 抽象。

       列表(List)的基本特征是将元素以线性方式存储,相当于数据结构中的“线性表”,具体表现为数组和向量,链表,栈,队列等。和Set集合对应,
            1.List集合区分元素的顺序(记录元素的加入顺序)
            2.List集合允许包含重复元素。

       API中解释

       List有序的 collection(也称为序列)。此接口的用户可以对列表中每个元素的插入位置进行精确地控制。用户可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中的元素。与 set 不同,列表通常允许重复的元素。更确切地讲,列表通常允许满足 e1.equals(e2) 的元素对 e1 和 e2,并且如果列表本身允许 null 元素的话,通常它们允许多个 null 元素。

       映射(Map)与集或列表的区别较明显,映射中保存成对的“键-值”信息。Map中存储的每个元素都包括起标识作用的“键”和元素“值”两部分,检索数据时必须提供相应的“键”,才能查找到其所映射的“值”,因此Map集合中不能包含重复的“键”,而且每个“键”最多只能映射一个“值”。

      
      
                   由上图可以看出Set和List是Collection的子接口。而Map与Collection没有一点联系,Map是一级接口。

       


           

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值