今天自學(xué)Queue的時(shí)候,學(xué)習(xí)到如何取出隊(duì)列中所有元素,這是使用while去遍歷的時(shí)候:?Queue<String>?queue?=?new?LinkedList<String>();
?queue.offer("a");
?queue.offer("b");
?queue.offer("c");
?queue.offer("d");
?queue.offer("e");
?while(queue.size()>0){
????String?poll?=?queue.poll();
????System.out.print(poll+"?");
?}
?System.out.println("\n"+queue);此刻可以全部輸出,并且原隊(duì)列中已經(jīng)沒有元素了。然后我用新循環(huán)去取同樣的隊(duì)列元素?for(String?s?:?queue){
?????System.out.print(s+"?");
?}
?System.out.println("\n"+queue);元素同樣全部能夠取到,但發(fā)現(xiàn)隊(duì)列中的元素還在。請(qǐng)問,這是怎么實(shí)現(xiàn)的?新循環(huán)循環(huán)隊(duì)列的時(shí)候調(diào)用的不是poll()方法嗎?如果不是,是什么?感謝回答!
1 回答

月落烏啼落日?qǐng)A
TA貢獻(xiàn)20條經(jīng)驗(yàn) 獲得超9個(gè)贊
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?poll()方法是用來實(shí)現(xiàn)檢索并移除此隊(duì)列的頭,如果此隊(duì)列為空,則返回null。 foreach是對(duì)queue進(jìn)行遍歷,不會(huì)影響queue中的數(shù)據(jù)。 ? ? ? ? ? ? ? ? ? ? ? ? ? ?
添加回答
舉報(bào)
0/150
提交
取消