Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2003
    Messaggi
    1,258

    [java] metodo più efficente

    Ho questo metodo nel mio oggetto, che serve ad aggiungere elementi a una lista(equivalente della funzione add di LinkedList). Vorrei renderlo più efficente, contando che nel mio oggetto ho 3 liste, e tutte e 3 possono avere l'esigenza di richiamare add.
    la prima cosa che ho fatto all'origine è stata di far puntare p alla lista numero 1. come dovrei modificare il programma per rendere valido un richiamo di questo tipo?

    lista2.add(oggetto_comparable);

    codice:
    // Aggiunge alla fine della lista un elemento
    
         public void add(Comparable obj){
    
           int numElementi=1;
    
           // p è il puntatore della lista
           Link p = lista;
           // trova il primo riferimento a null
           while(p.next!= null) {p = p.next; numElementi++;}
           // allunga la lista con l'elemento passato
           p.next = new Link(obj, null);
           // nel campo data del primo elemento si mette la lunghezza della lista
           lista.data = new Integer(numElementi);
    
        }

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    1,798
    Non potresti utilizzare una variabile che punta
    all'ultimo elemento inserito?
    In questo modo non dovresti scorrere tutta la lista
    fino all'ultimo elemento non nullo.

    Slack? Smack!

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    1,798
    codice:
    public void addToList(Link link, Comparable obj) {
         // link è una lista interna del tuo oggetto
         // obj  è l'elemento da aggiungere
         list.add(obj);
    }
    Questo prevede che dall'esterno della classe possa ottenere
    un riferimento ad una delle liste interne al tuo oggetto.

    E' una pessima idea?
    Slack? Smack!

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2003
    Messaggi
    1,258
    ti rispondo:

    1) no, perchè non è il modo di procedere delle liste, almeno quelle più semplici.

    2) il modo che mi hai proposto te è proprio quello che volevo evitare sfruttando la caratteristica degli oggetti, cioè il nome prima deve essere già il nome di riferimento

    :bubu:

  5. #5
    Utente di HTML.it L'avatar di anx721
    Registrato dal
    Apr 2003
    Messaggi
    2,352
    Io non ho capito bene, cosa vuoi... :master:

    Una classe con tre campi di tipo Link e un metodo pubblico add con cui poter aggiungere elementi ad una delle tre liste, e vuoi poter decidere a quale lista aggiungere un nuovo elemento?

    cioè il nome prima deve essere già il nome di riferimento
    What does it mean??? :quote:

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2003
    Messaggi
    1,258
    va be' fortunatamente sono riuscito a fare quello che volevo! Ma a questo punto non ve lo spiego se non lo avete capito! :bubu:

  7. #7
    Utente di HTML.it L'avatar di anx721
    Registrato dal
    Apr 2003
    Messaggi
    2,352
    Originariamente inviato da Lucked
    va be' fortunatamente sono riuscito a fare quello che volevo! Ma a questo punto non ve lo spiego se non lo avete capito! :bubu:

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.