Java面试问题

1.List以特定的顺序保存元素,可能会有重复的元素。集合中不能有重复的元素

排序。Map保存键值,键值可以是多值的。

2.ArrayList使用数组存储数据。该数组中元素的数量大于实际存储的数据,以便添加和插入元素。都是允许直接按序号索引元素,但是插入元素涉及数组元素移动等内存操作,所以索引数据快,插入数据慢。LinkedList使用双向链表来存储数据。它需要向前或向后遍历才能按序号索引数据,但插入数据时只需要记录该项前后的项,所以插入速度更快。

3.try用于指定一个程序来防止所有的“异常”;

catch子句跟在try块后面,指定要捕获的“异常”的类型;

throw语句用于显式抛出“异常”;

Throws用来表示成员函数可能抛出的各种“异常”;

最后执行一段代码,保证无论发生什么“异常”;

您可以在成员函数调用外部编写一个try语句,并在该成员函数内部编写另一个try语句。

try语句保护其他代码。每当遇到try语句,框架“异常”就被放到堆上。

直到所有的try语句完成。如果下一级的try语句没有响应“异常”

处理它,堆栈会一直扩展,直到出现处理这个“异常”的try语句。

4.Java采用面向对象的方法处理异常,对不同的异常进行分类,并提供良好的接口。在Java中,每个异常都是一个对象,它是一个Throwable类或其他子类的实例。当方法中出现异常时,会抛出一个异常对象,该对象包含异常信息,调用该对象的方法可以捕获这个异常并处理它。Java中的异常处理是通过五个关键词来实现的:try、catch、throw、throw和finally。一般来说,try是用来执行程序的。如果出现异常,系统将抛出异常。这个时候你可以通过它的类型来捕捉它,或者最后它会被默认的处理器处理。