Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    [JAVA] Iterator o algoritmo di ricerca?

    Ciao, vorrei avere un piccolo consiglio:

    Ho un ArrayList di oggetti e voglio verificare se c'è una corrispondenza tra un determinato valore e gli elementi dell'ArrayList.
    E' preferibile utilizzare un algoritmo di ricerca tipo quella binaria o creare un oggetto di tipo Iterator e scandire gli elementi?
    -Montanelli-: Ma lei evadeva quasi sempre, no?

    -Mesina-: Sì, ho la fortuna di avere i polsi più grossi delle mani...

  2. #2
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    un arraylist non è ordinato
    dunque non puoi utilizzare algoritmi di ricerca binaria se non te li scrivi da solo
    se l'array contiene un numero abbastanza basso di elementi è meglio scorrere l'array con get(int index)

  3. #3
    se l'arraylist contiente molti elementi utilizzo Iterator?
    -Montanelli-: Ma lei evadeva quasi sempre, no?

    -Mesina-: Sì, ho la fortuna di avere i polsi più grossi delle mani...

  4. #4
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    fermo
    io molti elementi voglio dire > 10000
    se hai un array così, usare il get o un iterator è la stessa cosa, anzi se devi usare l'iterator, probabilmente ci metti di più, perchè arraylist deve costruire un oggetto in più
    in quel caso dovresti ottenere un array con toArray, ordinarlo, e fare una ricerca con un metodo che ti scrivi tu

  5. #5
    Tra il get e iterator tu quale consigli?
    Io ho letto che utilizzare Iterator è più elegante...
    -Montanelli-: Ma lei evadeva quasi sempre, no?

    -Mesina-: Sì, ho la fortuna di avere i polsi più grossi delle mani...

  6. #6
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    io scriverei le due versioni, poi misurerei il tempo che ci mettono e sceglierei quella più veloce

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.