1. 程式人生 > >叠代器--遍歷集合的專用工具

叠代器--遍歷集合的專用工具

toa family 叠代器 util lec gpo 返回 邏輯 arr

【不使用叠代器遍歷集合】

 1 package com.hxl;
 2 
 3 import java.util.ArrayList;
 4 import java.util.Arrays;
 5 import java.util.Collection;
 6 
 7 public class Test {
 8 
 9     public static void main(String[] args) {
10         // 實例化一個集合對象
11         Collection c = new ArrayList<>();
12         // 添加元素
13         c.add(new
Student("aa", 11, ‘男‘)); 14 c.add(new Student("bb", 22, ‘男‘)); 15 c.add(new Student("cc", 33, ‘女‘)); 16 c.add(new Student("dd", 44, ‘男‘)); 17 c.add(new Student("ee", 55, ‘女‘)); 18 // 將集合轉為Object[]數組 19 Object[] objs = c.toArray(); 20 // 遍歷數組 21 for
(int i = 0; i < objs.length; i++) { 22 // 這裏Student類中的toString()方法已經重寫過了 23 System.out.println(objs[i]); 24 } 25 } 26 }

【使用叠代器Iterator】

 1 package com.hxl;
 2 
 3 import java.util.ArrayList;
 4 import java.util.Arrays;
 5 import java.util.Collection;
 6 import
java.util.Iterator; 7 8 public class Test { 9 10 public static void main(String[] args) { 11 // 實例化一個集合對象 12 Collection c = new ArrayList<>(); 13 // 添加元素 14 c.add(new Student("aa", 11, ‘男‘)); 15 c.add(new Student("bb", 22, ‘男‘)); 16 c.add(new Student("cc", 33, ‘女‘)); 17 c.add(new Student("dd", 44, ‘男‘)); 18 c.add(new Student("ee", 55, ‘女‘)); 19 // 使用叠代器有兩種方法,方法一:while循環遍歷,優點邏輯結構清晰 20 // 實例化叠代器Iterator對象,註意Iterator是接口,這裏是其實現類的對象. 21 Iterator it = c.iterator(); 22 while (it.hasNext()) { 23 // it.next()方法返回的是Object對象,而它其實是Student對象,並且重寫了toString方法。 24 System.out.println(it.next()); 25 } 26 27 // 方法二:for循環遍歷叠代器,優點節省內存空間,缺點邏輯結構不那麽清晰 28 /* 29 for (Iterator it = c.iterator(); it.hasNext();不需要寫表達式) { 30 System.out.println(it.next()); 31 } 32 */ 33 } 34 }

叠代器--遍歷集合的專用工具