1. 程式人生 > >Java 作業 1: 建立一個ArrayList集合和一個LinkedList集合

Java 作業 1: 建立一個ArrayList集合和一個LinkedList集合

作業:

建立一個ArrayList集合和一個LinkedList集合,

(1) 分別向這兩個集合中新增100000個整數,計算各自的時間並輸出;

(2) for迴圈遍歷這兩個集合,計算各自的時間並輸出;

(3) foreach迴圈遍歷這兩個集合,計算各自的時間並輸出。

計算時間的程式碼例子:

longstartTime= System.currentTimeMillis();       //獲取開始時間

…………        //測試的程式碼段

longendTime= System.currentTimeMillis();       //獲取結束時間

System.out.println

("程式執行時間:"+ (endTime - startTime)+ "ms");      //輸出程式執行時間

import java.util.*;
import java.math.*;

public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		ArrayList array = new ArrayList();
		LinkedList list = new LinkedList();
		
		//分別向這兩個集合中新增100000個整數,計算各自的時間並輸出
		long start = System.currentTimeMillis();
		for(int i = 0; i < 100000; i++) {
			array.add(0, i);
		}
		long end = System.currentTimeMillis();
		System.out.println("ArrayList集合新增數需要的時間:"+(end - start)+"ms");
		
		long start1 = System.currentTimeMillis();
		for(int i = 0; i < 100000; i++) {
			list.add(0, i);
		}
		long end1 = System.currentTimeMillis();
		System.out.println("LinkedList集合新增數需要的時間:"+(end1 - start1)+"ms");
		
		//用for迴圈遍歷這兩個集合,計算各自的時間並輸出
		long start2 = System.currentTimeMillis();
		for(int i = 0; i < 100000; i++) {
			array.get(i);
		}
		long end2 = System.currentTimeMillis();
		System.out.println("ArrayList集合for遍歷需要的時間:"+(end2 - start2)+"ms");
		
		long start3 = System.currentTimeMillis();
		for(int i = 0; i < 100000; i++) {
			list.get(i);
		}
		long end3 = System.currentTimeMillis();
		System.out.println("LinkedList集合for遍歷需要的時間:"+(end3 - start3)+"ms");
		
		//用foreach迴圈遍歷這兩個集合,計算各自的時間並輸出
		long start4 = System.currentTimeMillis();
		for(Object i : array) {
			
		}
		long end4 = System.currentTimeMillis();
		System.out.println("ArrayList集合foreach遍歷需要的時間:"+(end4 - start4)+"ms");
		long start5 = System.currentTimeMillis();
		for(Object i : list) {
			
		}
		long end5 = System.currentTimeMillis();
		System.out.println("ArrayList集合foreach遍歷需要的時間:"+(end5 - start5)+"ms");
	}

}