会员中心     
首页 > 资料专栏 > HRM > 人力资源 > 面试甄选 > Java集合面试题52道PDF

Java集合面试题52道PDF

奇能物业
V 实名认证
内容提供者
资料大小:1699KB(压缩后)
文档格式:PDF(28页)
资料语言:中文版/英文版/日文版
解压密码:m448
更新时间:2024/9/15(发布于浙江)

类型:金牌资料
积分:--
推荐:免费申请

   点此下载 ==>> 点击下载文档


“Java集合面试题52道PDF”第1页图片 图片预览结束,如需查阅完整内容,请下载文档!
文本描述
集合容器概述 1. 什么是集合 集合就是一个放数据的容器,准确的说是放数据对象引用的容器 集合类存放的都是对象的引用,而不是对象的本身 集合类型主要有3种:set(集)、list(列表)和map(映射)。 2. 集合的特点 集合的特点主要有如下两点: 集合用于存储对象的容器,对象是用来封装数据,对象多了也需要存储集中式管理。 和数组对比对象的大小不确定。因为集合是可变长度的。数组需要提前定义大小 3. 集合和数组的区别 数组是固定长度的;集合可变长度的。 数组可以存储基本数据类型,也可以存储引用数据类型;集合只能存储引用数据类型。 数组存储的元素必须是同一个数据类型;集合存储的对象可以是不同数据类型。 4. 使用集合框架的好处 1. 容量自增长; 2. 提供了高性能的数据结构和算法,使编码更轻松,提高了程序速度和质量; 3. 可以方便地扩展或改写集合,提高代码复用性和可操作性。 4. 通过使用JDK自带的集合类,可以降低代码维护和学习新API成本。 5. 常用的集合类有哪些? Map接口和Collection接口是所有集合框架的父接口: 1. Collection接口的子接口包括:Set接口和List接口 2. Map接口的实现类主要有:HashMap、TreeMap、Hashtable、ConcurrentHashMap以及 Properties等 3. Set接口的实现类主要有:HashSet、TreeSet、LinkedHashSet等 4. List接口的实现类主要有:ArrayList、LinkedList、Stack以及Vector等 6. List,Set,Map三者的区别? 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 7. 集合框架底层数据结构 Collection 1. List Arraylist: Object数组 Vector: Object数组 LinkedList: 双向循环链表 2. Set HashSet(无序,唯一):基于 HashMap 实现的,底层采用 HashMap 来保存元素 LinkedHashSet: LinkedHashSet 继承与 HashSet,并且其内部是通过 LinkedHashMap 来 实现的。有点类似于我们之前说的LinkedHashMap 其内部是基于 Hashmap 实现一样,不 过还是有一点点区别的。 TreeSet(有序,唯一): 红黑树(自平衡的排序二叉树。) Map HashMap: JDK1.8之前HashMap由数组+链表组成的,数组是HashMap的