❶ java中如何實現迭代器
importjava.util.ArrayList;
importjava.util.Collection;
importjava.util.Iterator;
publicclassIterateDemo{
publicstaticvoidmain(String[]args){
Collectioncollection=newArrayList();
collection.add("abcd");
collection.add("defg");
collection.add("true");
for(Iteratoriterator=collection.iterator();iterator.hasNext();){
System.out.println(iterator.next());
}
}
}
❷ Java中什麼叫迭代器
迭代器(Iterator)
迭代器是一種設計模式,它是一個對象,它可以遍歷並選擇序列中的對象,而開發人員不需要了解該序列的底層結構。迭代器通常被稱為「輕量級」對象,因為創建它的代價小。
Java中的Iterator功能比較簡單,並且只能單向移動:
(1) 使用方法iterator()要求容器返回一個Iterator。第一次調用Iterator的next()方法時,它返回序列的第一個元素。注意:iterator()方法是java.lang.Iterable介面,被Collection繼承。
(2) 使用next()獲得序列中的下一個元素。
(3) 使用hasNext()檢查序列中是否還有元素。
(4) 使用remove()將迭代器新返回的元素刪除。
Iterator是Java迭代器最簡單的實現,為List設計的ListIterator具有更多的功能,它可以從兩個方向遍歷List,也可以從List中插入和刪除元素。
❸ 怎麼理解java中迭代器
迭代器就是把一個集合類(如:List,ArrayList)裡面的東西一次全取出來,按照原來的順序排成一個隊(比如在醫院),然後你對它說"下一個"(.next)的時候,隊頭那個傢伙就出來了(返回一個對象),你就可以給它看病了,然後當沒有人了的時候你再喊"下一個",護士小姐就會對你說沒有人了(next返回false),你就可以下班了
❹ java中什麼叫迭代,什麼叫迭代器
迭代:
是重復反饋過程的活動,其目的通常是為了逼近所需目標或結果。每一次對過程的重復稱為一次「迭代」,而每一次迭代得到的結果會作為下一次迭代的初始值。
重復執行一系列運算步驟,從前面的量依次求出後面的量的過程。此過程的每一次結果,都是由對前一次所得結果施行相同的運算步驟得到的。例如利用迭代法*求某一數學問題的解。
對計算機特定程序中需要反復執行的子程序*(一組指令),進行一次重復,即重復執行程序中的循環,直到滿足某條件為止,亦稱為迭代。
迭代器(Iterator)模式:
又叫做游標模式,它的含義是,提供一種方法訪問一個容器對象中各個元素,而又不需暴露該對象的內部細節。
注意:Java的集合框架的集合類,有的時候也稱為容器。
從定義上看,迭代器是為容器而生,它本質上就是一種遍歷的演算法。因為容器的實現千差萬別,很多時候不可能知道如何去遍歷一個集合對象的元素。Java為我們提供了使用迭代的介面,Java的所有集合類丟失進行迭代的。
簡單的說,迭代器就是一個介面Iterator,實現了該介面的類就叫做可迭代類,這些類多數時候指的就是java.util包下的集合類。
總結:
迭代器,提供一種訪問一個集合對象各個元素的途徑,同時又不需要暴露該對象的內部細節。java通過提供Iterator和Iterable倆個介面來實現集合類的可迭代性,迭代器主要的用法是:首先用hasNext()作為循環條件,再用next()方法得到每一個元素,最後在進行相關的操作。
(4)java中迭代器擴展閱讀
首先,創建了一個List的集合對象,並放入了倆個字元串對象,然後通過iterator()方法得到迭代器。iterator()方法是由Iterable介面規定的,ArrayList對該方法提供了具體的實現,在迭代器Iteartor介面中,有以下3個方法:
1、hasNext()該方法英語判斷集合對象是否還有下一個元素,如果已經是最後一個元素則返回false
2、next()把迭代器的指向移到下一個位置,同時,該方法返回下一個元素的引用
3、remove() 從迭代器指向的Collection中移除迭代器返回的最後一個元素,該操作使用的比較少。
注意:從Java5.0開始,迭代器可以被foreach循環所替代,但是foreach循環的本質也是使用Iterator進行遍歷的。
❺ java中什麼叫「迭代」,什麼叫「迭代器」
迭代
通俗點說 叫 一個個數過去,
實現這樣一個個數過去功能的東西,叫迭代器。
java迭代器 較多使用在容器中,如數組鏈表 ArrayList(反正就是能裝東西的玩意兒)
舉個例子:
//我們先往鏈表中裝東西
ArrayList a = new ArrayList();
a.add("東西1");
a.add("東西2");
//從鏈表中取東西怎麼辦呢,自然就用到了迭代器
//用法是這樣的
Iterator iter = a.iterator() ; //iter迭代器對象,可以用它來數了
while(iter.hasNext()){ //先往左數,如果有東西就執行{}里的語句
String m = (String)iter.next(); //數到什麼就拿出來 賦值給m
System.out.println(m); //拿出m用一下,即列印
}
❻ Java中為什麼要提供一個迭代器
是一種迭代器模式,是一種經驗,方便以後的人開發。我們應該站在巨人的肩上開發的,所以不需要自己再去寫什麼迭代遍歷。
❼ java中為什麼要使用迭代器
//我們先往鏈表中裝東西
ArrayList a = new ArrayList();
a.add("a");
a.add("b");
(數據結構中應該算是雙向鏈表吧(雙向還是單向不太清楚))
//從鏈表中取東西,用到了迭代器
Iterator iter = a.iterator() ; //iter迭代器對象,可以用它來數了
while(iter.hasNext()){
String m = (String)iter.next();
System.out.println(m);
}
首先需要判斷有沒有接下來的東西:iter.hasNext()
就是拿東西:iter.next();
好比下樓,從頂樓往下,到1樓了沒-1樓所以就停止了
或到了你需要的樓層就停下
可以看看數據結構
補充下
(數組遍歷和集合遍歷是不同的,集合是容器,數組是模具,你也可以將集合用一個數組儲存,再用數組遍歷,但是這樣不如迭代器來的更方便)
❽ JAVA中迭代器有什麼缺點嗎
沒錯,會有影響,因為迭代的次數取決於集合的元素數量,在刪除或增加集合中的元素的時候,迭代的次數會發生變化,而向集合的非末尾的位置插入元素導致的結果會更致命,會導致先前迭代出的元素又一次訪問到,或者有的元素訪問不到。
❾ 在Java中的迭代器有什麼作用啊
由於Java中數據容器眾多,而對數據容器的操作在很多時候都具有極大的共性,於是Java採用了迭代器為各種容器提供公共的操作介面。使用Java的迭代器iterator可以使得對容器的遍歷操作完全與其底層相隔離,可以到達極好的解耦效果。下面是一個使用迭代器遍歷一個序列化和非序列化容器的例子。
mport java.util.*;
publicclass TestIterator {
public static void main(String[] args) {
//創建一個list 它是一個序列化的數據
List list=new ArrayList();
//創建一個map,它是一個非序列化的數據
Map map=new HashMap();
for(int i=0;i<10;i++){
//向容器中添加數據
list.add(new String("list"+i) );
map.put(i, new String("map"+i));
}
//序列化了的數據創建迭代器。
Iterator iterList= list.iterator();//List介面實現了Iterable介面
//進行遍歷 如果容器中有下一個數據,就獲取下一個數據並列印出來
while(iterList.hasNext()){
String strList=(String)iterList.next();
System.out.println(strList.toString());
}
//創建非序列化數據的迭代器,要先將其序列化
Iterator iterMap=map.entrySet().iterator();
//進行遍歷 如果容器中有下一個數據,就獲取下一個數據並列印出來
while(iterMap.hasNext()){
Map.Entry strMap=(Map.Entry)iterMap.next();
System.out.println(strMap.getValue());
}
}
}
這些都是一些基礎的Java知識,在秒秒學的網站上查看資料。
❿ Java中迭代器怎麼使用
修改 toString()
public String toString(){
return "姓名"+this.name + ", 年齡" + this.age + ", 性別" + this.sex;
}