import java.util.Vector;
import java.util.Enumeration;
import java.util.Iterator;
import java.util.Random;
public class Main {
public static void main(String args[]) {
long begin = 0;
Random rd = new Random();
System.out.print("遍历原数组: ");
Vector<Integer> arr = new Vector<Integer>();
for (int i = 0; i < 10; i++) {
int a = (rd.nextInt() % 100) + 100;
arr.add((Integer) (a));
System.out.print(a + " ");
}
System.out.println("\n");
System.out.println("第一种:Enumeration接口实现");
begin = System.currentTimeMillis();
Enumeration<Integer> head;
head = arr.elements();
while (head.hasMoreElements()) {
if (head.nextElement() % 2 == 0)
System.out.print(head.nextElement() + " ");
}
System.out.println("\n 运行时间:" + (System.currentTimeMillis() / 1000f - begin) + "\n");
System.out.println("第二种:foreach“只能读取数据");
for (int m : arr) {
if (m % 2 == 0)
System.out.print(m + " ");
}
System.out.println("\n 运行时间:" + (System.currentTimeMillis() / 1000f - begin) + "\n");
System.out.println("第三种:for循环");
for (int i = 0; i < arr.size(); i++) {
if (arr.get(i) % 2 == 0)
System.out.print(arr.get(i) + " ");
}
System.out.println("\n 运行时间:" + (System.currentTimeMillis() / 1000f - begin) + "\n");
System.out.println("第四种:iterator迭代遍历");
Iterator<Integer> head_Iterator = arr.iterator();
while (head_Iterator.hasNext()) {
int a = head_Iterator.next();
if (a % 2 == 0)
System.out.print(a + " ");
}
System.out.println("\n 运行时间:" + (System.currentTimeMillis() / 1000f - begin) + "\n");
System.out.println("第五种:Consumer,函数式接口lambda");
arr.stream().filter(a -> a % 2 == 0)
.forEach(a -> System.out.print(a + " "));
System.out.println("\n 运行时间:" + (System.currentTimeMillis() - begin) / 1000f * 1000 + "\n");
}
}