ArrayList e compareTo

di il
20 risposte

20 Risposte - Pagina 2

  • Re: ArrayList e compareTo

    OpenSource ha scritto:


    Quando devo popolare la lista Operaio vado nel main richiamo il metodo es aggiungiOperaio (che è presente nella classe gestioneAzienda) e come paramentro gli passo un oggetto di tipo operaio, e cosi via per le altre liste.
    E allora mi viene una sensazione .... dato che come si è visto prima nel codice, all'interno di GestioneAzienda tieni una sola lista ArrayList<Operaio> ... non è che per ogni oggetto Operazioni che inserisci poi nel ArrayList<Operazioni> gli assegni sempre quello stesso ArrayList<Operaio> che tieni in GestioneAzienda??

    Questo sarebbe un bel errore concettuale! Il problema quindi sarebbe la tua gestione delle liste.
  • Re: ArrayList e compareTo

    andbin ha scritto:


    OpenSource ha scritto:


    Quando devo popolare la lista Operaio vado nel main richiamo il metodo es aggiungiOperaio (che è presente nella classe gestioneAzienda) e come paramentro gli passo un oggetto di tipo operaio, e cosi via per le altre liste.
    E allora mi viene una sensazione .... dato che come si è visto prima nel codice, all'interno di GestioneAzienda tieni una sola lista ArrayList<Operaio> ... non è che per ogni oggetto Operazioni che inserisci poi nel ArrayList<Operazioni> gli assegni sempre quello stesso ArrayList<Operaio> che tieni in GestioneAzienda??

    Questo sarebbe un bel errore concettuale! Il problema quindi sarebbe la tua gestione delle liste.
    Ciao, no, ad operazioni ci assegno un nuovo ArrayList che creo nel main con degli operai, e poi nel costruttore di operazione gli passò quell'arraylist creato nel main. Quindi poi l'arraylist presente in gestioneAzienda (operazione) dovrebbe contenere anche quella lista di operai che gli avevo passato nel main..
    Infatti ho creato 3 o 4 arraylist nel main con operai diversi tra loro, cioè, qualche arraylist contiene un solo operaio un altro 5 un altro 2 ecc in modo da avere tanti tipi di operazioni diverse dov'è partecipano un numero diverso di operai. Se hai bisogno di più chiarezza ti passo il main
  • Re: ArrayList e compareTo

    OpenSource ha scritto:


    Se hai bisogno di più chiarezza ti passo il main
    Postalo qui, giusto per vederlo bene.
  • Re: ArrayList e compareTo

    andbin ha scritto:


    OpenSource ha scritto:


    Se hai bisogno di più chiarezza ti passo il main
    Postalo qui, giusto per vederlo bene.

    
    		Operaio aa = new Operaio ("AABB","Minnie","Milano");
    		Operaio bb = new Operaio ("AAAA","Pluto","Roma.");
    		Operaio cc = new Operaio ("FAEE","Peperone","Napoli");
    		Operaio dd = new Operaio ("DDCC","Paperino","Torino");
    		Operaio ee = new Operaio ("CABB","Topolino","Pordenone");
    		Operaio ff = new Operaio ("DABD","Pippo","Treviso");
    		Operaio gg = new Operaio ("BBAC","Aurora","Venezia");
    		
    		
    		ArrayList<Operaio> prova = new ArrayList <Operaio> ();
    		prova.add(aa);
    		prova.add(bb);
    		
    		ArrayList<Operaio> provaa = new ArrayList <Operaio> ();
    		prova.add(ee);
    		prova.add(ff);
    		
    		ArrayList<Operaio> provaaa = new ArrayList <Operaio> ();
    		prova.add(aa);
    		prova.add(gg);
    		//----------------------------------
    		
    		ArrayList<Operaio> prova1 = new ArrayList <Operaio> ();
    		prova.add(cc);
    		prova.add(dd);
    		
    		ArrayList<Operaio> provaa1 = new ArrayList <Operaio> ();
    		prova.add(aa);
    		prova.add(bb);
    		
    		ArrayList<Operaio> provaaa1 = new ArrayList <Operaio> ();
    		prova.add(aa);
    		prova.add(ee);
    		
    		
    		//--------------
    		
    		
    		ArrayList<Operaio> prova2 = new ArrayList <Operaio> ();
    		prova.add(dd);
    		
    		ArrayList<Operaio> provaa2 = new ArrayList <Operaio> ();
    		prova.add(cc);
    		prova.add(dd);
    		prova.add(ff);
    		prova.add(gg);
    		
    		
    		ArrayList<Operaio> provaaa2 = new ArrayList <Operaio> ();
    		prova.add(aa);
    		prova.add(bb);
    		prova.add(gg);
    		
    		//----------------------------
    		
    		ArrayList<Operaio> prova3 = new ArrayList <Operaio> ();
    		prova.add(bb);
    		prova.add(cc);
    		prova.add(dd);
    		prova.add(ee);
    		prova.add(gg);
    		
    		
    		ArrayList<Operaio> provaa3 = new ArrayList <Operaio> ();
    		prova.add(aa);
    		prova.add(ff);
    		
    		
    		
    		Operazioni aaa = new Operazioni (1,"semina",prova);
    		Operazioni bbb = new Operazioni (1,"semina",provaa);
    		Operazioni ccc = new Operazioni (1,"semina",provaaa);
    		
    		
    		Operazioni ddd = new Operazioni(1,"semina",prova1);
    		Operazioni eee = new Operazioni(1,"semina",provaa1);
    		Operazioni fff = new Operazioni(1,"aratura",provaaa1);
    		
    		
    		Operazioni ggg = new Operazioni(2,"aratura",prova2);
    		Operazioni hhh = new Operazioni(10,"aratura",provaa2);
    		Operazioni iii = new Operazioni(10,"semina",provaaa2);
    		
    		
    		Operazioni lll = new Operazioni(10,"semina",prova3);
    		Operazioni mmm = new Operazioni(1,"aratura",provaa3);
    		
    		
    		
    		
    		GestioneAzienda ga = new GestioneAzienda();
    		
    		ga.AggiungiOperaio(aa);
    		ga.AggiungiOperaio(bb);
    		ga.AggiungiOperaio(cc);
    		ga.AggiungiOperaio(dd);
    		ga.AggiungiOperaio(ee);
    		ga.AggiungiOperaio(ff);
    		ga.AggiungiOperaio(gg);
    		
    		ga.AggiungiOperazione(lll);
    		ga.AggiungiOperazione(aaa);
    		ga.AggiungiOperazione(bbb);
    		ga.AggiungiOperazione(ccc);
    		ga.AggiungiOperazione(ddd);
    		ga.AggiungiOperazione(iii);
    		ga.AggiungiOperazione(eee);
    		ga.AggiungiOperazione(fff);
    		ga.AggiungiOperazione(mmm);
    		ga.AggiungiOperazione(ggg);
    		ga.AggiungiOperazione(hhh);
    		
    		
    		ga.aggiorna();
    		ga.stampa();
    aggiorna sarebbe il metodo che dovrebbe ordinare in base agli operai che partecipano alle operazioni
    scusa per i nomi ma stavo facendo una prova
  • Re: ArrayList e compareTo

    OpenSource ha scritto:


    aggiorna sarebbe il metodo che dovrebbe ordinare in base agli operai che partecipano alle operazioni
    scusa per i nomi ma stavo facendo una prova
    Nel codice del main non vedo cose palesemente errate concettualmente. Hai fatto un po' confusione con i nomi.
    Ad un certo punto fai

    ArrayList<Operaio> provaa2 = new ArrayList <Operaio> ();
    prova.add(cc);
    prova.add(dd);
    prova.add(ff);
    prova.add(gg);

    hai una variabile provaa2 ma poi continui ad aggiungere a prova.


    Comunque se AggiungiOperazione fa un add sul ArrayList<Operazioni> operazioni in GestioneAzienda e visto che aggiorna fa il Collections.sort(operazioni); .... di per sé non vedo palesi errori.

    Purtroppo non ho la visione generale di tutto il codice quindi mi è difficile capire cosa può essere sbagliato.
  • Re: ArrayList e compareTo

    andbin ha scritto:


    OpenSource ha scritto:


    aggiorna sarebbe il metodo che dovrebbe ordinare in base agli operai che partecipano alle operazioni
    scusa per i nomi ma stavo facendo una prova
    Nel codice del main non vedo cose palesemente errate concettualmente. Hai fatto un po' confusione con i nomi.
    Ad un certo punto fai

    ArrayList<Operaio> provaa2 = new ArrayList <Operaio> ();
    prova.add(cc);
    prova.add(dd);
    prova.add(ff);
    prova.add(gg);

    hai una variabile provaa2 ma poi continui ad aggiungere a prova.


    Comunque se AggiungiOperazione fa un add sul ArrayList<Operazioni> operazioni in GestioneAzienda e visto che aggiorna fa il Collections.sort(operazioni); .... di per sé non vedo palesi errori.

    Purtroppo non ho la visione generale di tutto il codice quindi mi è difficile capire cosa può essere sbagliato.

    Ciao andbin, ora funziona tutto ordina bene, forse il problema era in una lista Ti volevo ringraziare per il tempo che mi hai dedicato. Grazie
Devi accedere o registrarti per scrivere nel forum
20 risposte