// driver for SimpleArrayList import java.text.DecimalFormat; public class SALDriver { private static final DecimalFormat timeFmt = new DecimalFormat("0.0##"); // Run test for given number of items. SuppressOutput allows doing // a run with no output to ensure items are precompiled. private static void RunTest(int numItems) { SimpleArrayList.resetAssignmentCount(); SimpleArrayList nums = new SimpleArrayList(); System.out.print("Building list with " + numItems + " items: "); long startTime = System.nanoTime(); for(int i = 0; i < numItems; ++i) nums.add(i); long endTime = System.nanoTime(); double milliSec = (endTime - startTime) / 1e6; System.out.println(SimpleArrayList.getAssignmentCount() + " assignments in " + timeFmt.format(milliSec) + " ms."); } public static void main(String[] args) { System.out.print("Priming run: "); RunTest(10000); System.out.println("--------------------------------------------------"); for(int i = 1; i <= 20; ++i) RunTest(i); RunTest(100); RunTest(1000); RunTest(10000); RunTest(100000); } }