package client;

import java.util.ArrayList;
import java.util.Collection;
import java.util.LinkedList;
import java.util.Random;
import java.util.Vector;


public class analysePerformance {
    static Collection<Integer> struct ;
    static String structureChoisie ;
    static String operationChoisie ; 
    static int tailleChoisie ;
    
    public static void main(String[] args){
        if(args.length!= 3){
            System.out.println("Nombre d'arguments incorrects: 3 arguments sont demandés");
        }
        else{
            //verification du 1er argument
            if(args[0]=="arraylist"){    
                struct = new ArrayList<Integer>();
            }
            else if(args[0]=="linkedlist"){
                struct = new LinkedList<Integer>();
            }
            else if(args[0]=="vector"){
                struct = new Vector<Integer>();
            }
            else{
                System.out.println("Le 1er argument n'est pas valide");
                System.exit(0);
            }
            
            //verification du 3eme argument
            tailleChoisie = Integer.parseInt(args[2]);
            
            // verification du deuxieme argument
            if(args[1]=="add"){    
                Add(tailleChoisie);
            }
            else if(args[1]=="acces"){
                Acces(tailleChoisie);
            }
            else{
                System.out.println("Le 2eme argument n'est pas valide");
                System.exit(0);
            } 
        }
    }
    
    public static void Add(int taille){
        Random rdm = new Random();
        for(int i = 0 ; i<taille ; i++){
            int nombre = rdm.nextInt();
            struct.add(nombre);
        }
    }
    
    // on verifie si taille est contenue dans la liste
    public static int Acces(int taille){      
        int res =0;
        for(int i =0; i<struct.size();i++){
            if(struct.contains(taille)){
                res = i;
            }
        }
        return res;
    } 
}