本文只会大概讲解我们需要注意和掌握的知识点
万物皆源码,如果你懂这句话,那么你只需要看标题
1.集合
常用容器的图录:
Collection 和 Collections
首先我们要明确在java中所有的集合都会继承于Collection这个类,个人理解这个类只是定义了集合的一些必有属性,当让java也提供Collections类一个集合工具类。
我们需要掌握的知识点如下:
1.Collection 和 Collections 有什么区别?
2.Collections有哪些常用的方法(不要觉得没用用,面试的时候回答上来和你在工作的时候自己查询API再去实现是两码事)
List、Set、Map
基本信息如下:
这里涉及到的知识点就特别多了,没有别的办法,只能去多记多用
List
基本常见种类:ArrayList 、Linkelist 、Vector。当让还有其他的。但是作为Android 开发来说,目前这几个够用
知识点:
1.实现方式,我们都知道,需要实现一个集合,或者列表时,他们每一个元素必定会有一定的规则与其他元素有关联,例如单向链表,双向链表、数组等,所以不管我们的集合是什么类型,只需要记住这个集合的实现方式,那我们就可以轻易的掌握他的一些基本属性,例如ArrayList的底层就是数组实现,那么它一定就是查询快、但是增加或删除的时候就比较麻烦,所以这里我强烈建议大家,必须掌握每一个常用集合类型的底层实现原理
2.常用的集合类型的API ,最好的能知道它的实现原理
Map
和列表一样,但是我个人认为必须去学习并掌握它的底层实现原理,因为map的实现基本都是在list的基础上扩展
知识点:
1.HashSet、HashMap实现原理
2.HashSet、HashMap设计思路
3.HashSet、HashMap为什么需要这样设计?
4.HashSet、HashMap应用场景
2.基本类型和常见封装类型的基础方法的源码问题
这是一个大家比较容易忽略的东西,但我认为比较重要,比如现在面试官问了这样一个问题:wait() 和 sleep()的区别?
基本类型java API中 封装好的方法
基本数据类型分别是:byte(位)、short(短整数)、int(整数)、long(长整数)、float(单精度)、double(双精度)、char(字符)和boolean(布尔值)。
知识点:
1.各种类型在其他封装中的应用
2.各种类型转换的问题
3.各种类型占位,特征等
封装类型java API中 封装好的方法
常用的封装类型有:String 、Number、Integer等,其中字符串的封装比较多
知识点:
1.各种封装类型的应用场景
2.各种封装类型的原理、异同、优缺点