// A program that measures the time taken to perform operations on a List. // Barry Cornelius, 23 July 2000 import java.util. ArrayList; import java.util. Iterator; import java.util. LinkedList; import java.util. List; public class ListTimes { public static void main(final String[] pArgs) { final EggTimer tEggTimer = new EggTimer(); final int tNumberOfNews = 10000; int tNumberOfGets = 20000; final int tGetIndex = 4567; final int tNumberOfAdds = 10000; List tList = null; switch (pArgs[0].charAt(0)) { case 'A': { tNumberOfGets *= 1000; tList = new ArrayList(); } break; case 'L': { tList = new LinkedList(); } break; default: { System.out.println("Usage: java ListTimes [A|L]"); System.exit(1); } } tEggTimer.reset(); // create list for (int tNewNumber = 1; tNewNumber<=tNumberOfNews; tNewNumber++) { tList.add(new PersonImpl("" + tNewNumber + "%1999-2-7%1234%1.7")); } double tAddEndTime = tEggTimer.get()/(double)tNumberOfNews; System.out.println(tAddEndTime); //BJCHEREFIRST tEggTimer.reset(); // get a particular element for (int tGetNumber = 1; tGetNumber<=tNumberOfGets; tGetNumber++) { Object tObject = tList.get(tGetIndex); } double tGetTime = tEggTimer.get()/(double)tNumberOfGets; System.out.println(tGetTime); tEggTimer.reset(); // get each element in turn for (int tWalkNumber = 0; tWalkNumber