1. 程式人生 > 實用技巧 >java-集合框架3-迭代器的使用

java-集合框架3-迭代器的使用

package cn.burce.iterator;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;

/*
 * 集合中的迭代器 獲取集合中的元素
 * 介面Iterator:兩個抽象方法
 * Boolean hasNext()判斷集合中還有沒有可以取出的元素,如果有返還True
 * next()取出集合的下一個元素
 * Iterator介面,需要實現類
 * Collection介面定義方法Iterator Iterator()
 * ArrayList 重寫Iterator(),返回了Iterator介面實現類的物件
 * 使用ArrayList集合的物件
 * Iterator it = array.iterator(),執行結果就是Iterator介面實現類的物件
 * it是介面的實現類物件,呼叫方法hasNext()和next()集合元素迭代
 
*/ public class IteratorLearn { public static void main(String[] args) { Collection<String> c = new ArrayList<String>(); c.add("小明"); c.add("小軍"); c.add("小和"); c.add("小啊"); c.add("123"); // 迭代器對集合ArrayList中的元素取出 // 呼叫集合的方法iterator()獲取出,Iterator介面的是實現類物件
Iterator<String> it = c.iterator(); // 介面實現類物件,呼叫方法hasNext()判斷集合中是否有元素 // 並用next()取出元素 while (it.hasNext()) { System.out.println(it.next()); } System.out.println("--------------------------"); for (Iterator<String> it1 = c.iterator(); it1.hasNext();) { System.out.println(it1.next()); } System.out.println(
"-----------------------------"); // 集合可以儲存任何型別的物件 // 集合中不指定資料型別,那就表示什麼都可以儲存 Collection c1 = new ArrayList(); c1.add("我"); c1.add("wwwwww"); // 迭代器獲取 Iterator it2 = c1.iterator(); while (it2.hasNext()) { System.out.println(it2.next());// 列印的這個是Object型別 String s = (String) it2.next();// 取長度需要向下轉型 System.out.println(s.length());// 儘量加資料型別 } } }