面试题-每日5道

26.在 Queue 中 poll()和 remove()有什么区别?

相同点:都是删除第一个元素并返回。

不同点:如果没有元素poll()会返回null,而remove()会抛出NoSuchElementException异常

27.哪些集合类是线程安全的?

Vector,Stock,Hashtable都是线程安全的,在jdk1.5之后出现java.util.concurrent并发包的出现,他们也有了自己对应的线程安全类,如hashMap的线程安全类就是concurrentHashMap。

28.迭代器 Iterator 是什么?

iterator接口t提供了便利任何collection的接口,我们可以从一个collection中使用迭代器方法来获取迭代实列,迭代器取代了Java集合框架中的enumeration,迭代器允许调用者在迭代过程中移除元素。

29.Iterator 怎么使用?有什么特点?

使用next()获得序列中的下一个元素;使用hasNext()检查序列中是否还有元素;使用remove()将迭代器新近返回的元素删除。

itertor的特点是更加安全,在当前遍历的集合元素被更改的时候会抛出ConcurrentModificationException异常。

30.Iterator 和 ListIterator 有什么区别?

iterator可以遍历set和list,而listlterator只能遍历list。

iterator只能单向遍历,而listiterator可以双向遍历。

listiterator从iterator接口继承,然后添加了一些额外的功能,比如添加一个元素,替换一个元素,获取前面或后面元素的索引位置。

  • 6
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值