使用Iterator遍歷map以及list用法
阿新 • • 發佈:2020-12-27
Iterator介面簡介:
Java中的Iterator**功能比較簡單,只能單向移動:
(1) 使用方法iterator()要求容器返回一個Iterator。
Iterator iter = list.iterator(); // 注意iterator,首字母小寫
第一次呼叫Iterator的next()方法時,它返回序列的第一個元素。
注意:iterator()方法是java.lang.Iterable介面,被Collection繼承。
(2) 使用next()獲得序列中的下一個元素。
(3) 使用hasNext()檢查序列中是否還有元素。
(4) 使用remove()將迭代器新返回的元素刪除。
程式碼如下(示例):
public class IteratorTest {
public static void main(String[] args) {
//Map遍歷
Map<String,String> pets = new HashMap<String,String>();
pets.put("dog","ww");
pets.put("cat","ee" );
pets.put("pig","rr");
String name="";
/*
*Entry<String, String>表示map中鍵值對都是String型別的
*pets.entrySet()是把HashMap型別的資料轉換成集合型別
*pets.entrySet().iterator();是去獲得這個集合的迭代器,儲存在it中
*
*/
Iterator<Map. Entry<String, String>> it = pets.entrySet().iterator();
while (it.hasNext()){
Map.Entry entry = it.next(); //獲得map中的每一個鍵值對
System.out.println(entry);
name =entry.getValue().toString();
System.out.println(name);
}
//list遍歷
List l = new ArrayList();
l.add("a");
l.add("b");
l.add("c");
//迭代器用於while迴圈
Iterator iter = l.iterator();
while(iter.hasNext()){
String str = (String) iter.next();
System.out.println(str);
}
}
}
執行結果: