- 2
- 0
- 约2.88万字
- 约 37页
- 2021-01-27 发布于山东
- 举报
Java集合容器面试题
更多资料录播视频添加微信领取
集合容器概述
什么是集合
集合框架:用于存储数据的容器。
集合框架是为表示和操作集合而规定的一种统一的标准的体系结构。任何集合框架都包含三大块内容:对外的接口、接口的实现和对集合运算的算法。
接口:表示集合的抽象数据类型。接口允许我们操作集合时不必关注具体实现,从而达到“多态”。在面向对象编程语言中,接口通常用来形成规范。
实现:集合接口的具体实现,是重用性很高的数据结构。
算法:在一个实现了某个集合框架中的接口的对象身上完成某种有用的计算的方法,例如查找、排序等。这些算法通常是多态的,因为相同的方法可以在同一个接口被多个类实现时有不同的表现。事实上,算法是可复用的函数。它减少了程序设计的辛劳。
集合框架通过提供有用的数据结构和算法使你能集中注意力于你的程序的重要部分上,而不是为了让程序能正常运转而将注意力于低层设计上。通过这些在无关API之间的简易的互用性,使你免除了为改编对象或转换代码以便联合这些API而去写大量的代码。 它提高了程序速度和质量。
集合的特点
集合的特点主要有如下两点:
对象封装数据,对象多了也需要存储。集合用于存储对象。
对象的个数确定可以使用数组,对象的个数不确定的可以用集合。因为集合是可变长度的。
集合和数组的区别
数组是固定长度的;集合可变长度的。
数组可以存储基本数据类型,也可以存储引用数据类型;集合只能存储引用数据类型。
数组存储的元素必须是同一个数据类型;集合存储的对象可以是不同数据类型。
数据结构:就是容器中存储数据的方式。
对于集合容器,有很多种。因为每一个容器的自身特点不同,其实原理在于每个容器的内部数据结构不同。
集合容器在不断向上抽取过程中,出现了集合体系。在使用一个体系的原则:参阅顶层内容。建立底层对象。
使用集合框架的好处
容量自增长;
提供了高性能的数据结构和算法,使编码更轻松,提高了程序速度和质量;
允许不同 API 之间的互操作,API之间可以来回传递集合;
可以方便地扩展或改写集合,提高代码复用性和可操作性。
通过使用JDK自带的集合类,可以降低代码维护和学习新API成本。
常用的集合类有哪些?
Map接口和Collection接口是所有集合框架的父接口:
Collection接口的子接口包括:Set接口和List接口
Map接口的实现类主要有:HashMap、TreeMap、Hashtable、ConcurrentHashMap以及Properties等
Set接口的实现类主要有:HashSet、TreeSet、LinkedHashSet等
List接口的实现类主要有:ArrayList、LinkedList、Stack以及Vector等
List,Set,Map三者的区别?List、Set、Map 是否继承自 Collection 接口?List、Map、Set 三个接口存取元素时,各有什么特点?
Java 容器分为 Collection 和 Map 两大类,Collection集合的子接口有Set、List、Queue三种子接口。我们比较常用的是Set、List,Map接口不是collection的子接口。
Collection集合主要有List和Set两大接口
List:一个有序(元素存入集合的顺序和取出的顺序一致)容器,元素可以重复,可以插入多个null元素,元素都有索引。常用的实现类有 ArrayList、LinkedList 和 Vector。
Set:一个无序(存入和取出顺序有可能不一致)容器,不可以存储重复元素,只允许存入一个null元素,必须保证元素唯一性。Set 接口常用实现类是 HashSet、LinkedHashSet 以及 TreeSet。
Map是一个键值对集合,存储键、值和之间的映射。 Key无序,唯一;value 不要求有序,允许重复。Map没有继承于Collection接口,从Map集合中检索元素时,只要给出键对象,就会返回对应的值对象。
Map 的常用实现类:HashMap、TreeMap、HashTable、LinkedHashMap、ConcurrentHashMap
集合框架底层数据结构
Collection
List
Arraylist: Object数组
Vector: Object数组
LinkedList: 双向循环链表
Set
HashSet(无序,唯一):基于 HashMap 实现的,底层采用 HashMap 来保存元素
LinkedHashSet: LinkedHashSet 继承与 HashSet,并且其内部是通过 LinkedHashMap 来实现的。有点类似于我们之前说的LinkedHashMap 其内部是基于 Hashmap 实现一样,不过还是有
您可能关注的文档
- 程序员2016精华本试读文章.pdf
- Python安装及环境搭建.docx
- Java基础知识面试题.docx
- VR基础8-控制台编程 C#的选择语句 (1).pdf
- VR基础6-控制台编程--变量和类型转化 (1).pdf
- VR基础7-控制台编程--C#中的运算符和表达式 (1).pdf
- VR基础38-数据结构简述 (1).pdf
- UE4新手引导之下载和安装虚幻4游戏引擎.pdf
- 工笔画基础教程.doc
- 工笔画人物的画法.doc
- 2026年神经节苷脂治疗早产儿脑白质损伤的临床疗效分析.docx
- 2026年铁与维生素C协同吸收机制分析.docx
- 2026年度西安科技大学高新学院单招《数学》综合提升测试卷带答案详解(基础题).docx
- 2026年土地整治与生态补偿机制的实施效果分析.docx
- 2026年神经内窥镜治疗阻塞性脑积水48例报告.docx
- 2026年体检辨色力报告.docx
- 2026年社区治理的社会实践报告.docx
- 2026年深圳国际化城市建设指标体系研究报告doc.docx
- 2026年深圳国有企业改革经验探讨与案例分析 (1).docx
- 2026年神经肌电图在糖尿病周围神经病变患者中的应用价值及机制分析.docx
最近下载
- 实验室内电气安全培训课件.pptx VIP
- 护理伦理与法规课程标准.doc VIP
- 远信工业股份有限公司年产200台热风拉幅定形机建设项目 环评报告表.pdf VIP
- 2025年下半年中小学教师资格考试语文学科知识与教学能力真题(初级中学)附参考答案.docx VIP
- 质量管理体系检查登记表.docx VIP
- 安徽镜湖总部经济园建设项目可行性设计方案.doc VIP
- 2026年春教科版(新教材)小学科学二年级下册(全册)教学设计(附目录P91).pdf
- 给排水工程施工课件.pptx VIP
- 实验室安全用电培训课件.ppt VIP
- 综合应用能力事业单位考试(医疗卫生类E类)试题与参考答案(2025年).docx VIP
原创力文档

文档评论(0)