Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package testvectorvslinkedlist;
- import java.io.BufferedWriter;
- import java.io.FileWriter;
- import java.util.ArrayList;
- import java.util.Date;
- import java.util.LinkedList;
- import java.util.List;
- import java.util.Random;
- import java.util.Vector;
- /**
- *
- * @author George Aristy
- */
- public class TestVectorVsLinkedList {
- /**
- * @param args the command line arguments
- */
- public static void main(String[] args) throws Exception {
- // TODO code application logic here
- int iteration = 1;
- int arraySize = 10;
- int maxArraySize = Integer.parseInt(args[0]);
- BufferedWriter bw = new BufferedWriter(new FileWriter("test.txt"));
- try{
- Date now = new Date();
- bw.write("Started at: " + now.toString());
- bw.newLine();
- bw.write("Iteration,# Elements,LinkedList,ArrayList,Vector");
- bw.newLine();
- do{
- System.out.println("# Elements: " + arraySize);
- Integer[] array = new Integer[arraySize];
- Random random = new Random(123456789L);
- LinkedList<Integer> linkedList = new LinkedList<Integer>();
- linkedList.add(-1);
- ArrayList<Integer> arrayList = new ArrayList<Integer>();
- arrayList.add(-1);
- Vector<Integer> vector = new Vector<Integer>();
- vector.add(-1);
- for(int i = 0; i < array.length; i++){
- array[i] = random.nextInt(Integer.MAX_VALUE);
- }
- Date before = new Date();
- linearInsertion(array, linkedList);
- long linkedListTime = new Date().getTime() - before.getTime();
- before = new Date();
- linearInsertion(array, arrayList);
- long arrayListTime = new Date().getTime() - before.getTime();
- before = new Date();
- linearInsertion(array, vector);
- Long vectorTime = new Date().getTime() - before.getTime();
- bw.write(iteration + "," + arraySize + "," + linkedListTime + "," + arrayListTime + "," + vectorTime);
- bw.newLine();
- arraySize++;
- iteration++;
- }while(arraySize <= maxArraySize);
- bw.newLine();
- bw.write("Ended at: " + new Date().toString());
- bw.newLine();
- bw.write("Elapsed time (ms): " + (new Date().getTime() - now.getTime()));
- bw.flush();
- }finally{
- bw.close();
- }
- }
- private static void linearInsertion(Integer[] intArray, List<Integer> list){
- for(Integer integer : intArray){
- for(int i = 0; i < list.size(); i++){
- if(integer.compareTo(list.get(i)) >= 0){
- list.add(i, integer);
- break;
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement