Java基础知识&&集合框架(Java面试准备小记)

Java基础:

多态性

同一个接口,使用不同的实例而执行不同的操作

重载和重写:

重载发生在同一类中,方法名相同(但形参数量及类型不同)的同名函数 重写发生在子类中,子类重写父类的方法(形参需一致)返回值类型小于父类

接口与抽象类的区别:

接口中所有方法都是抽象方法。抽象类中可以有非抽象方法 接口中不能有构造方法,抽象类可以有构造方法
一个类可以实现多个接口,但只能继承一个抽象类(单根继承)(而C++是多根继承) 接口可以使用extends关键字扩展多个接口
抽象方法是为了被重写的,所以不能用private修饰符修饰 接口中的静态变量是public static final 类型

==和equals的区别:

若作用于基本数据类型:==就是值的比较;而若作用于引用数据类型就是地址的比较
equals只能作用于类变量,不能作用于基本数据类型(对于基本数据类型需要使用其封装类)
在进行Object类型比较时,==和equals的功能是相同的

final: 常量声明。 finally: 处理异常。 finalize: 帮助进行垃圾回收
Java虚拟机

能够移植到不同硬件平台的软件系统

Java集合框架

(java集合框架位于java.util包)(Java集合框架主要包含两种类型的容器集合Collection和图Map)

Collection主要包括:List  Set接口
List接口实例存储是:有序的、可重复的
实现类有:ArrayList  LinkedList Vector 
**ArrayList和LinkedList的区别:**

ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。
对于随机访问get和set,ArrayList优于LinkedList
而对于add和remove,LinkedList更合适,因为ArrayList要移动大量数据

.

Set接口实例存储是:无序的、去重的、允许存在null 实现类:HashSet TreeSet
HashSet底层数据结构是用的哈希表,TreeSet底层数据结构是 二叉树 (需要重写compare方法)
实际上TreeSet还是用TreeMap来保存set元素。

Map具体实现类:HashMap   TreeMap
TreeMap继承SortedMap类保证键的有序排列,基于红黑树实现
HashMap:适用于Map插入,删除,定位
TreeMap:适用于按自然顺序或者自定义顺序遍历Key(键)

由于Set的值和Map的键值是不允许重复的,那么当插入元素时,发现此元素已经存在,Set和Map分别会采取什么操作呢?

Set:直接不插入 Map:用新的key键对应的value值替换旧的value值

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页