迭代器的工作原理
//創(chuàng)建一個(gè)單列集合? ?
//LinkedList鏈表集合
//List接口
//創(chuàng)建一個(gè)指向自己接口的引用對(duì)象,創(chuàng)建了LinkedList類的對(duì)象后把它上溯到了list接口,現(xiàn)在它是list的對(duì)象,多態(tài)的實(shí)現(xiàn)。
List list=new LinkedList();
list.add("1");
list.add("2");
list.add("3");
//獲取當(dāng)前集合的迭代器??
Iterator it =list.iterator();
第一種 While循環(huán)
????????//判斷迭代器下一個(gè)位置上有木有元素
????????while(it.hasNext()){
????????//返回當(dāng)前迭代的元素
????????System.out.println(it.next());
}
第二種for循環(huán)
????? ? //判斷迭代器下一個(gè)位置上有木有元素
???????????for(;it.hasNext();){
????????//返回當(dāng)前迭代的元素
????????? System.out.println(it.next());
}
如果用迭代器 的話,建議用While循環(huán)寫,如果用for循環(huán)寫,對(duì)內(nèi)存的優(yōu)化不夠。
????????????????it.remove();//刪除當(dāng)前迭代器指向的元素。最后打印長度為0。? 重點(diǎn):進(jìn)行remove之前 必須調(diào)用it.next();方法,因?yàn)檫@個(gè)方法是刪除當(dāng)前迭代器指向的元素
//在迭代器迭代的過程中不允許對(duì)迭代器對(duì)象進(jìn)行任何操作,否則會(huì)引發(fā)安全隱患
總結(jié)
- 上一篇: JAVA String、StringBu
- 下一篇: 调用支付宝接口,完成付款功能