集合遍历优化----(for和foreach)

package java_suanfa;

import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;

public class Main {

	public static void main(String[] args) {
		// 实例化arrayList
		List<Integer> arrayList = new ArrayList<Integer>();
		// 实例化linkList
		List<Integer> linkList = new LinkedList<Integer>();

		// 插入10万条数据
		for (int i = 0; i < 500000; i++) {
			arrayList.add(i);
			linkList.add(i);
		}

		int array = 0;
		// 用for循环arrayList
		long arrayForStartTime = System.currentTimeMillis();
		for (int i = 0; i < arrayList.size(); i++) {
			array = arrayList.get(i);
		}
		long arrayForEndTime = System.currentTimeMillis();
		System.out.println("用for循环arrayList 10万次花费时间:" + (arrayForEndTime - arrayForStartTime) + "毫秒");

		// 用foreach循环arrayList
		long arrayForeachStartTime = System.currentTimeMillis();
		for (Integer in : arrayList) {
			array = in;
		}
		long arrayForeachEndTime = System.currentTimeMillis();
		System.out.println("用foreach循环arrayList 10万次花费时间:" + (arrayForeachEndTime - arrayForeachStartTime) + "毫秒");

		// 用for循环linkList
		long linkForStartTime = System.currentTimeMillis();
		int link = 0;
		for (int i = 0; i < linkList.size(); i++) {
			link = linkList.get(i);
		}
		long linkForEndTime = System.currentTimeMillis();
		System.out.println("用for循环linkList 10万次花费时间:" + (linkForEndTime - linkForStartTime) + "毫秒");

		// 用froeach循环linkList
		long linkForeachStartTime = System.currentTimeMillis();
		for (Integer in : linkList) {
			link = in;
		}
		long linkForeachEndTime = System.currentTimeMillis();
		System.out.println("用foreach循环linkList 10万次花费时间:" + (linkForeachEndTime - linkForeachStartTime) + "毫秒");
	}
}

这段代码是做什么用呢?

比较50万数据的for和foreach遍历?

用for循环arrayList 10万次花费时间:11毫秒
用foreach循环arrayList 10万次花费时间:13毫秒
用for循环linkList 10万次花费时间:385087毫秒
用foreach循环linkList 10万次花费时间:12毫秒

哈哈结果自己看,代码是拷贝别人的,希望结果给自己留下深刻印象,相帅就正确选择,想坏就错误选择,看自己喽

发布了43 篇原创文章 · 获赞 6 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/GP0000968523/article/details/82313754
今日推荐