代码实例
package tech.zhuyuan.demo.designpattern.iterator.concurrent
import java.util.ArrayList
import java.util.Arrays
import java.util.Iterator
import java.util.List
public class FiveKindsOfIteration {
public static void main(String[] args) {
List<String> list = new ArrayList(Arrays.asList(new String[]{"1", "2", "3", "4"}))
//for循环原始方式
for (int i = 0
System.out.println(list.get(i))
}
System.out.println("---------------------分割线--------------------")
//for循环原始方式改进
for (int i = 0, size = list.size()
System.out.println(list.get(i))
}
System.out.println("---------------------分割线--------------------")
//Iterator(迭代器) JDK 1.2增加
Iterator<String> it = list.iterator()
while (it.hasNext()) {
System.out.println(it.next())
}
System.out.println("---------------------分割线--------------------")
//增强版for循环 JDK 1.5增加,需要实现java.util.Iterable接口
for (String str : list) {
System.out.println(str)
}
System.out.println("---------------------分割线--------------------")
//foreach JDK 1.8
list.forEach(str -> {
System.out.println(str)
})
}
}
Java List 5 种迭代方式性能比较