java面试题

1.List、Map、Set三个接口存取元素各有什么特点?2.说出ArrayList,与LinkedList的存储性能和特性?3,关键字throws,throw,try,... 1.List、Map、Set三个接口存取元素各有什么特点?
2.说出ArrayList,与LinkedList的存储性能和特性?
3,关键字throws,throw,try,catch,finally分别代表什么意思??
4.java语言如何进行异常处理??
展开
 我来答
symller
2013-12-26 · 超过10用户采纳过TA的回答
知道答主
回答量:27
采纳率:0%
帮助的人:25.3万
展开全部
1. List 以特定次序来持有元素,可有重复元素。 Set 无法拥有重复元素 , 内 部
排序。 Map 保存 key-value 值, value 可多值。

2. ArrayList 是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入 元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢, 而LinkedList 使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历 ,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。

3.try 用来指定一块预防所有 “ 异常 ” 的程序;
catch 子句紧跟在 try 块后面,用来指定你想要捕捉的 “ 异常 ” 的类型;
throw 语句用来明确地抛出一个 “ 异常 ” ;
throws 用来标明一个成员函数可能抛出的各种 “ 异常 ” ;
Finally 为确保一段代码不管发生什么 “ 异常 ” 都被执行一段代码;
可以在一个成员函数调用的外面写一个 try 语句,在这个成员函数内部写另 一
个 try 语句保护其他代码。每当遇到一个 try 语句, “ 异常 ” 的框架就放到堆 栈
上面,直到所有的 try 语句都完成。如果下一级的 try 语句没有对某种 “ 异常 ”
进行处理,堆栈就会展开,直到遇到有处理这种 “ 异常 ” 的 try 语句。

4. Java 通过面向对象的方法进行异常处理,把各种不同的异常进行分类,并提供了良好的接口。在 Java 中,每个异常都是一个对象,它是 Throwable 类或其它子类的实例。当一个方法出现异常后便抛出一个异常对象,该对象中包含 有异常信息,调用这个对象的方法可以捕获到这个异常并进行处理。 Java 的异常处理是通过 5 个关键词来实现的: try 、 catch 、 throw 、 throws 和 finally 。一般情况下是用 try 来执行一段程序,如果出现异常,系统会抛出( throws )一 个异常,这时候你可以通过它的类型来捕捉( catch )它,或最后( finally )由 缺省处理器来处理。
枕戈的杂货铺
2013-12-27 · 超过13用户采纳过TA的回答
知道答主
回答量:44
采纳率:0%
帮助的人:24万
展开全部
  1. List,Set都继承Collection接口,Map不继承。List,Set都不含键值对,即存储数据的方式一般为list.add(value); set.add(value);而Map含有键值对,可以定义键名称,如:map.put("key",value)。

    List的元素可以重复,Set内的元素不可重复,Map也可以重复。

    List为线性排序,Set无排序,Map也无排序。

  2. ArrayList:底层用数组实现的List
    特点:查询效率高,增删效率低 轻量级 线程不安全

    LinkedList:底层用双向循环链表 实现的List
    特点:查询效率低,增删效率高

  3. throws为函数抛出异常,通常跟在方法后面,如:public void function() throws Exception{}

    throws的异常可在try{}catch(Exception e){}中捕获,可输出异常信息

    throw为抛出异常,可根据开发人员自定义需要在指定位置手工抛出异常,通常写在函数体中

    try{}函数内部为需要执行捕获的事务,通常和catch何用,作为异常处理,finally为最终执行方法无论是否发生异常finally内部的代码都会执行

  4. java可使用try....catch...finally的方式对异常进行捕获,示例如下



       

 /**捕获异常测试方法**/
 public void testCatch(){
    try{ 
        testThrow();//在try catch中捕获抛出异常
    }catch(Exception ex){
        ex.printStack();//控制台输出捕获的异常信息
        System.Out.println("Exception"+e.getMessage()); //e.getMessage为异常摘要
    }finally{
        System.our.println("Finally");//这里无论是否抛出异常都会执行
    }
}

/**抛出异常测试方法**/
public void testThrow() throws Exception{
    new throw Exception("自定义抛出异常");
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
下一个丶自己
2013-12-26 · 超过36用户采纳过TA的回答
知道小有建树答主
回答量:106
采纳率:0%
帮助的人:54.4万
展开全部
楼上的不错!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-12-26
展开全部

1.

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式