JavaEE面试宝典共228页 Java基础知识点: 1.1 Collection和Map的继承体系 * Collection是Java中集合框架的根接口,提供了对集合的基本操作,如add、remove、contains等。 * Map是Java中映射框架的根接口,提供了对键值对的映射操作,如put、get、containsKey等。 * Collection和Map的继承体系中,ArrayList和LinkedList是Collection的实现类,HashMap是Map的实现类。 1.1.1 Collection接口 * Collection接口提供了对集合的基本操作,如add、remove、contains等。 * Collection接口的继承体系中,ArrayList和LinkedList是Collection的实现类。 1.1.2 Map接口 * Map接口提供了对键值对的映射操作,如put、get、containsKey等。 * Map接口的继承体系中,HashMap是Map的实现类。 1.1.3 ArrayList和LinkedList的区别 * ArrayList和LinkedList都是Collection接口的实现类,但它们有不同的特点。 * ArrayList的特点:查询速度很快,但是增删稍慢。线程不同步。删除一个元素后,该元素后面的所有元素前移。 * LinkedList的特点:增删速度很快,查询稍慢。线程不同步。 1.1.4 ArrayList底层实现 * ArrayList底层的实现就是一个数组(固定大小),当数组长度不够用的时候就会重新开辟一个新的数组,然后将原来的数据拷贝到新的数组内。 1.1.5 HashMap底层实现 * HashMap底层就是一个数组结构(Entry<K,V>[]table),可以看出,Entry就是数组中的元素,每个Map.Entry其实就是一个key-value对,它持有一个指向下一个元素的引用,这就构成了链表。 1.1.6 HashMap的工作原理 * HashMap基于hashing原理,我们通过put()和get()方法储存和获取对象。 * 当我们将键值对传递给put()方法时,它调用键对象的hashCode()方法来计算hashcode,让后找到bucket位置来储存值对象。 * 当获取对象时,通过键对象的equals()方法找到正确的键值对,然后返回值对象。 * HashMap使用链表来解决碰撞问题,当发生碰撞了,对象将会储存在链表的下一个节点中。 1.1.7 List、Map、Set三个接口的特点 * List接口提供了对顺序集合的操作,如add、remove、get等。 * Map接口提供了对键值对的映射操作,如put、get、containsKey等。 * Set接口提供了对无序集合的操作,如add、remove、contains等。 Collection和Map是Java中集合框架的核心接口,ArrayList和LinkedList是Collection的实现类,HashMap是Map的实现类。了解它们的继承体系、特点和工作原理是非常重要的。
![](https://csdnimg.cn/release/download_crawler_static/85928503/bg10.jpg)
![](https://csdnimg.cn/release/download_crawler_static/85928503/bg11.jpg)
![](https://csdnimg.cn/release/download_crawler_static/85928503/bg12.jpg)
![](https://csdnimg.cn/release/download_crawler_static/85928503/bg13.jpg)
![](https://csdnimg.cn/release/download_crawler_static/85928503/bg14.jpg)
剩余155页未读,继续阅读
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/5d3d17b770eb4c6785682f01b138d5bc_z9894.jpg!1)
- 粉丝: 182
- 资源: 3378
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- Vue实现iOS原生Picker组件:详细解析与实现思路
- Arduino蓝牙小车:参数调试与功能控制
- 百度Java面试精华:200页精选资源涵盖核心知识点
- Swift使用CoreData填坑指南:CoreData在Swift 3.0的变化
- 微距离无线充电器创新设计及其实验探索
- MTK Android平台开发全攻略:44步详解流程
- RecyclerView全面解析:替代ListView的新选择
- Android开发:自动适配中英文键盘解决方案
- Android调用WebService接口教程
- Android开发:BitmapUtil图片处理全解析与实例
- Android多线程断点续传实现详解
- PCA算法在人脸识别会议签到系统中的应用
- EventBus 3.0:Android事件总线详解与实战应用
- Android FileUtil:全面解析文件操作实用技巧与实例
- RecyclerView添加头部和尾部实战教程
- Android实现微博滑动固定顶部栏实战与优化
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)