1. 程式人生 > >Iterator(迭代器)的一般用法 (轉)

Iterator(迭代器)的一般用法 (轉)

迭代器(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中插入和刪除元素。



迭代器應用:
 list l = new ArrayList();
 l.add("aa");
 l.add("bb");
 l.add("cc");
 for (Iterator iter = l.iterator(); iter.hasNext();) {
  String str = (String)iter.next();
  System.out.println(str);
 }
 /*迭代器用於while迴圈
 Iterator iter = l.iterator();
 while(iter.hasNext()){
  String str = (String) iter.next();
  System.out.println(str);
 }

 */

public void data(Map<String, ?> contentData) {
Entry<String, String> obj = null;
Map<String, String> data = new HashMap<String, String>();
for (Iterator<?> it = contentData.entrySet().iterator(); it.hasNext();) {
obj = (Entry<String, String>) it.next();
String value = obj.getValue();
if (StringUtils.isNotBlank(value)) {
data.put(obj.getKey(), value.trim());
System.out.println(obj.getKey() + "-->" + String.valueOf(value));
}
}
}