輕松控制Java迭代器形式。本站提示廣大學習愛好者:(輕松控制Java迭代器形式)文章只能為提供參考,不一定能成為您想要的結果。以下是輕松控制Java迭代器形式正文
界說:用於次序拜訪聚集對象的元素,不須要曉得聚集對象的底層表現。
特色:
1、它支撐以分歧的方法遍歷一個聚合對象。
2、迭代器簡化了聚合類。
3、在統一個聚合上可以有多個遍歷。
4、在迭代器形式中,增長新的聚合類和迭代器類都很便利,不必修正原有代碼。
企業級開辟和經常使用框架中的運用:java聚集都完成了迭代器
詳細實例:
public class Demo {
public static void main(String[] args) {
ActualContainer container = new ActualContainer();
for(int i = 5 ; i < 20 ; i++){
container.add(i);
}
Iterator iterator = container.iterator();
while(iterator.hasNext()){
System.out.println(iterator.next());
}
}
}
/**
* 迭代器接口,包括有經常使用的迭代器辦法
*/
interface Iterator{
public boolean hasNext();
public Object next();
}
/**
* 容器接口:包括有獲得迭代器的辦法
*/
interface Container{
public Iterator iterator();
}
/**
* 詳細完成類
* @author jiaoyuyu
*
*/
class ActualContainer implements Container{
private List<Object> list = new ArrayList<>();
public void add(Object obj){
this.list.add(obj);
}
public void remove(Object obj){
this.list.remove(obj);
}
public Object get(int index){
if(index <= (this.list.size() - 1)){
return this.list.get(index);
}
return null;
}
public Iterator iterator() {
return new ActualIterator();
}
private class ActualIterator implements Iterator{
private int pointer = 0;
public boolean hasNext() {
return this.pointer < list.size() ? true : false;
}
public Object next() {
if(this.pointer < list.size()){
Object obj = list.get(pointer);
pointer++;
return obj;
}
return null;
}
}
}
迭代器形式屬於比擬簡略的形式,重要用於遍歷聚集一類的對象。
以上就是本文的全體內容,願望對年夜家的進修有所贊助,也願望年夜家多多支撐。