import java.util.*;
import java.io.*;
public class Driver {
public static void main(String[] args) {
ArrayListStuff x = new ArrayListStuff();
long start, t, start1, start2, time, time1;
//times in milliseconds: addv1, addv2
//at 1000: 1, 0
//at 10,000: 5, 2
//at 100,000: 14, 8
//at 1,000,000: 34, 63
//the first version of adding (with specified index) is faster...
start = System.currentTimeMillis();
x.addv1(1000000);
t = System.currentTimeMillis() - start;
System.out.println("first version of add:" + t);
start = System.currentTimeMillis();
x.addv2(1000000);
t = System.currentTimeMillis() - start;
System.out.println("second version of add:" + t);
///////////////
///////////////
///////////////
//times in milliseconds: removeFront, removeBack
//at 100: 0,0
//at 1000: 1,1
//at 10,000:37,1
//at 100,000:3160,4
//removing from the back is much faster than removing from the front...
ArrayListStuff y = new ArrayListStuff();
y.addv1(100000);
start1 = System.currentTimeMillis();
y.removeFront();
time = System.currentTimeMillis() - start1;
System.out.println("removing from front:" + time);
ArrayListStuff w = new ArrayListStuff();
w.addv1(100000);
start2 = System.currentTimeMillis();
w.removeBack();
time1 = System.currentTimeMillis() - start2;
System.out.println("removing from back:" + time1);
//////////Reversal
//////////
//setup:
ArrayList<Integer> r = new ArrayList<Integer>();
int input = 0;
while (input <= 100){
r.add(input);
input++;
}
System.out.println(r.toString());
//reversal:
ArrayList<Integer> temp = new ArrayList<Integer>();
for (int i = 0; i<r.size(); i++){
temp.add(i, r.get((r.size()-1)-i));
}
r = temp;
System.out.println(r.toString());//reversed version
}
}