專(zhuān)門(mén)做婚慶的網(wǎng)站拓客平臺(tái)有哪些
26.在 Queue 中 poll()和 remove()有什么區(qū)別?
相同點(diǎn):都是刪除第一個(gè)元素并返回。
不同點(diǎn):如果沒(méi)有元素poll()會(huì)返回null,而remove()會(huì)拋出NoSuchElementException異常
27.哪些集合類(lèi)是線程安全的?
Vector,Stock,Hashtable都是線程安全的,在jdk1.5之后出現(xiàn)java.util.concurrent并發(fā)包的出現(xiàn),他們也有了自己對(duì)應(yīng)的線程安全類(lèi),如hashMap的線程安全類(lèi)就是concurrentHashMap。
28.迭代器 Iterator 是什么?
iterator接口t提供了便利任何collection的接口,我們可以從一個(gè)collection中使用迭代器方法來(lái)獲取迭代實(shí)列,迭代器取代了Java集合框架中的enumeration,迭代器允許調(diào)用者在迭代過(guò)程中移除元素。
29.Iterator 怎么使用?有什么特點(diǎn)?
使用next()獲得序列中的下一個(gè)元素;使用hasNext()檢查序列中是否還有元素;使用remove()將迭代器新近返回的元素刪除。
itertor的特點(diǎn)是更加安全,在當(dāng)前遍歷的集合元素被更改的時(shí)候會(huì)拋出ConcurrentModificationException異常。
30.Iterator 和 ListIterator 有什么區(qū)別?
iterator可以遍歷set和list,而listlterator只能遍歷list。
iterator只能單向遍歷,而listiterator可以雙向遍歷。
listiterator從iterator接口繼承,然后添加了一些額外的功能,比如添加一個(gè)元素,替換一個(gè)元素,獲取前面或后面元素的索引位置。