`
afunti
  • 浏览: 105465 次
  • 性别: Icon_minigender_1
  • 来自: 安徽
社区版块
存档分类
最新评论

No.8 集合

阅读更多
所有Collection都会透过其iterator()产生一个Iterator
常用容器: Collection( List, Set), Map()
List: 次序是List的最重要的特性;它保证以某种特定次序来维护元素.List会产生ListIterator,透过它你可以从两个方向来对List进行走访,也可以在List之内进行元素的安插和移除
      ArrayList: 以array方式实现的List.允许快速随机访问,但是当元素的安插或移除发生于List中央位置时,效率便很差,面对ArrayList,你应该只拿ListIterator来进行向后或向前走访动作,而不应该拿它来进行元素安插和移除动作,因为后者所花的代价远较LinkedList高昂
      LinkedList: 提供最佳顺序访问,以及成本低廉的[List中央位置元素安插和移除],随机访问动作则相对缓慢(如果想进行随机访问,请改用ArrayList).具备的方法: addFirst(), addLast(), getFirst(), getLast(), removeFirst(), removeLast()

Set: 它拥有和Collection一模一样的interfaces,所以它不像上述两种lists一样地有额外功能.Set就是一个Collection,只不过其行为不同罢了(这是继承和多型的理想运用方式: 展现不同行为).Set拒绝持有重复的元素实值(value),并不保证以任何特定次序来维护其元素
Set需要某种方式以维护其元素次序,这意味你必须实现Comparable 接口,并定义compareTo()
使用HashSet和TreeSet时,你都得为你的class定义equals(),但只有当你的class将被置于HashSet时,才一定得定义hashCode()
Map: 维护key-value的关联性,使你可以使用key来搜寻value
    put(Object key, Object value): 会将value加入,并将它关联至key.
    get(Object key): 会传回key所对应的value. 你也可以使用containsKey()和containsValue()来检查Map内是否含有某个key和某个value
    HashMap: 不是缓慢地逐一搜寻某个key,而会使用hash code(将物件内的某些资讯转换为几乎独一无二的int)用以代表那个物件,利用hashCode()来快速找到key

你无法将基本数据类型置入容器内,只有object reference才行
如果你在HashMap中使用你自己撰写的classes作为key,你一定得同时覆写hashCode()和equals().因为,Object的hashCode()会被用来产生每个对象的hash code,而且在预设情况下它直接使用其对象的内存位址,HashMap会通过equals(),试着判断你所给定的key是否等于表格中的某个key,而Objects.equals()只会比较对象的内存位址
分享到:
评论

相关推荐

    android应用程序 宅男周刊NO.15-NO.19

    本资源集合包含了《宅男周刊》的NO.15到NO.19五个版本,为用户提供了一种全新的阅读体验。这些应用程序旨在满足特定用户群体——宅男们的需求,提供了丰富多样的内容,涵盖了科技、娱乐、动漫、游戏等宅文化热点。 ...

    No.220 84P Golden wings密码kaiysx02.zip

    标题和描述看起来像是一个包含84张图片(通常在"84P"中表示)的压缩文件,名为"No.220 Golden wings",并且可能与某种密码"kaiysx02"有关。然而,这更像是一种数字内容的集合,比如摄影集或者游戏资源,而不是一个...

    No.7信令系统

    - **定义**: 根据不同的应用需求定制的信令协议集合。 - **典型用户部分**: - **电话用户部分(TUP)**: 用于传统电话服务。 - **综合业务数字网用户部分(ISUP)**: 支持ISDN服务。 - **信令连接控制部分(SCCP...

    大学物理AI作业答案

    【NO.8.pdf】可能涵盖的是波动和光学领域,包括波的传播特性、光的反射和折射定律,或者是干涉、衍射和偏振等现象的解释。 【NO.6.pdf】可能包含电场和磁场的内容,比如库仑定律、电势能、电流的磁效应,以及法拉第...

    2021-2022计算机二级等级考试试题及答案No.19793.docx

    8. 资源管理器窗口:资源管理器的左边窗格呈现层次结构,从桌面开始,依次是"我的电脑"、"网上邻居"等内容。 9. 逻辑数据结构与存储结构:一个逻辑数据结构可以有多种存储结构,每种存储结构对数据处理的效率都有...

    JAVA39NO.1.zip

    4. **集合框架**:包括List(如ArrayList和LinkedList)、Set(如HashSet和TreeSet)和Map(如HashMap和TreeMap)接口及其实现,理解它们的特性和用途。 5. **IO流**:学习输入输出操作,包括文件读写、对象序列化...

    2021-2022计算机二级等级考试试题及答案No.19014.docx

    - `Set`集合不是通过键值对的方式存储对象的,而是通过唯一的元素进行存储。 ### GUI程序设计 - 每一个GUI程序中必须包含一个容器组件。 ### 电子邮件客户端 - Outlook Express可用来接收和发送邮件。 ### 数据...

    CSA C22.2 No. 223-15 (2020).pdf

    此过程集合了不同观点和利益的志愿者来达成一致并制定标准。尽管CSA Group管理这一过程并设定规则以确保公平达成共识,但它不负责独立测试、评估或验证标准的内容。 免责声明指出,CSA Group不对文档中的任何信息的...

    最新版 CSA C22.2 No. 223-15 (2020).pdf

    这一流程集合了来自不同观点和利益背景的志愿者,共同达成一致并制定标准。尽管CSA Group负责管理这一过程并设定规则以促进公平的共识形成,但它并不独立测试、评估或验证标准内容的准确性。 **免责声明与责任排除*...

    No.Starch.The.Book.of.Ruby.Jun.2011.rar

    《The Book of Ruby》是由No Starch Press在2011年6月出版的一本关于Ruby编程语言的书籍。Ruby是一种动态、面向对象的脚本语言,由日本人松本行弘(Yukihiro Matsumoto)创建,设计目标是使程序员能够编写简洁而易于...

    No.2012 家电生产企业网站源码

    【标题】"No.2012 家电生产企业网站源码"指的是一个特定的、可用于构建家电生产企业的在线平台的源代码集合。这个源码是成品网站源码,意味着它已经开发完成并可供直接使用或进行二次开发,以适应不同家电企业的具体...

    2021-2022计算机二级等级考试试题及答案No.12879.docx

    1. 标题栏中的"2021-2022计算机二级等级考试试题及答案No.12879.docx"表明这是针对计算机二级考试的一份练习题集,通常这类考试会测试考生对基本计算机知识和实际操作技能的掌握。 2. 题目中提到的“格式工具栏上标...

    2021-2022计算机二级等级考试试题及答案No.1350.docx

    ### 8. 数据库查询准则 对于数据库表中的“姓名”字段,查找名为“张三”或“李四”的记录的正确准则是使用“张三” Or “李四”。 ### 9. 需求分析工具 题目中给出的需求分析常用工具是**DFD**(Data Flow ...

    HTML5 网站模版 No.1

    这个模板可能是预先设计好布局、样式和功能的HTML文件集合,可以快速启动一个新网站的开发过程。 在描述中提到的链接指向了一个CSDN博客文章,这可能详细介绍了模板的使用方法、特点和优势。通过这篇文章,开发者...

    2021-2022计算机二级等级考试试题及答案No.16189.docx

    8. SQL命令:在SQL中,RECALL命令不改变数据库记录指针,它通常用于恢复到上一次的编辑状态。 9. Java实例方法:实例方法是通过对象调用的,而不是根据引用变量的声明类型,所以题目中的说法是错误的。 10. 异常...

    2021-2022计算机二级等级考试试题及答案No.14763.docx

    8. **集合运算**:传统的集合运算包括并集(Union)、差集(Difference)、交集(Intersection),这些都是集合论的基本概念。 9. **MySQL用户账号管理**:在MySQL中,用户账号信息通常存储在`mysql.user`表中。 ...

    2021-2022计算机二级等级考试试题及答案No.15176.docx

    8. BBS(电子公告板系统)用于发布信息、交流讨论。 9. 逻辑型数据转换成整型,True转换为1,False转换为0。 10. 二维数组a的定义中,未初始化的元素默认为0,所以a[2][1]的值为0。 11. VisualBasic中,语句分隔符是...

    2021-2022计算机二级等级考试试题及答案No.19238.docx

    8. Java集合框架中的Iterator接口用于遍历集合,`hasNext()`方法用于判断是否存在下一个元素,正确答案为D。 9. Windows操作系统采用的是树形目录结构,方便组织和管理文件,正确答案为A。 10. 遍历列表、元组、...

    2021-2022计算机二级等级考试试题及答案No.1813.docx

    "2021-2022计算机二级等级考试试题及答案No.1813.docx" 本资源是2021-2022计算机二级等级考试试题及答案的集合,涵盖了计算机基础知识、编程语言、数据库、软件工程、计算机网络等多方面的知识点。下面是从试题中...

    2021-2022计算机二级等级考试试题及答案No.18506.docx

    13. TRUE/FALSE 数据类型:在数据库中,"TRUE/FALSE" 或 "YES/NO" 类型通常表示逻辑值,用于存储真或假的判断。 14. DO 命令执行程序:在某些操作系统中,DO 命令可以执行程序,其扩展名可能为 .EXE、.APP、.FXP、....

Global site tag (gtag.js) - Google Analytics