// VectorAikaEsimerkki.java SJ // Esimerkki miten huolimaton vakiokirjaston käyttö voi tuhota aikavaativuuden import java.util.Vector; public class VectorAikaEsimerkki { public static void main(String[] args) { // listojen koko int NN = 1024*1024; if (args.length > 0) NN = Integer.valueOf(args[0]); int alku = 1; if (NN < alku) alku = NN; System.out.println("n add(ms) add_cap_inc(ms)"); for (int N = alku; N <= NN; N *= 2) { // Oikea tapa käyttää vektoria Vector L1 = new Vector(); Ajastin2 a = new Ajastin2("add"); for (int i = 0; i < N; i++) { L1.add(i); } a.stop(); System.out.print(N + " " + a.millis() + " "); // väärä tapa käyttää vektoria (CapacityIncrement) Vector L2 = new Vector(10, 10); Ajastin2 a2 = new Ajastin2("addc"); for (int i = 0; i < N; i++) { L2.add(i); } a2.stop(); System.out.println(a2.millis()); } } // main() } // class