集合中使用迭代器时选择不同循环体的比较

package com.arvin;

import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;

/**
* @description 为什么使用迭代器的时候更推荐使用for而不是while去遍历数组
* @author Arvin Ten
* @version 16.0.1 2022/4/22 4:20 下午
*/

public class IteratorTest {
public static void main(String[] args) {
// 以Set接口下的HashSet类举例
Set set = new HashSet();
set.add("a");
set.add("b");
set.add("c");
System.out.println(set);

// 此时用全局变量iteratorW生命周期从定义开始一直到方法体结束才会被回收,如果代码量过多,会造成资源浪费
Iterator iteratorW = set.iterator();
while (iteratorW.hasNext()) {
System.out.println(iteratorW.next());
}

// 此时用局部变量iteratorF生命周期从for循环到for循环结束即可完成回收,节约资源,避免造成浪费
for (Iterator iteratorF = set.iterator();iteratorF.hasNext();){
System.out.println(iteratorF.next());
}


}

}
posted @ 2022-04-22 16:24  Arvin_Ten  阅读(50)  评论(0)    收藏  举报