JAVA面试题第八天

今天是第八天
1.类ExampleA继承Exception,类ExampleB继承ExampleA。
有如下片段。

try {
    throw new ExampleB("b")
} catch(ExampleA e){
    System.out.println("ExampleA");
} catch(Exception e){
    System.out.println("Exception");
}

会输出ExampleA,在能使用父类的地方一定使用父类。

2,List、Set、Map是否继承自Collection接口?
答:List,Set是,Map是键值对映射容器。

3.阐述ArrayList、Vector、LinkedList的存储性能和特性。
ArrayList和Vector都是使用数组的形式存储元素的,数组的元素数大于数据的数量,便于增加元素,可以使用序数索引元素,插入元素需要进行元素移动等内存操作,所以读取较快,增加和操作比较慢。ArrayList的效率vector高,因为vector是线程安全的。LinkedList是双向链表的格式,在内存中将零散的内存单元
通过引用关联起来,内存利用率较高,但是读取元素速度过慢,Vector是过时的容器,不建议使用。

4.Collection和Collections的区别?
答:Collection是一个接口,它是set和list的父接口,而collections是一个工具类,提供了系列静态的方法来辅助容器操作,如搜索,排序,使线程安全等。

5.List、Map、Set三个接口存取元素时,各有什么特点?
答:List以特定的索引来存取元素,可以有重复的元素,但是Set则不能有重复的元素。Map保存键值对的映射,映射的关系可以是一对一也可以是多对一。Set和Map有基于哈希存储和排序树的两种实现,基于哈希存储的实现理论上读取和存储元素的时间复杂度为O(1),基于排序树的实现理论上在增加和删除元素上让元素或元素的key形成排序树从而达到去重和排序的效果。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值