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接口继承,然后添加了一些额外的功能,比如添加一个元素,替换一个元素,获取前面或后面元素的索引位置。