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

    Info su linkedlist e linkedhashmap maggiori delucidazioni

    Salve ragazzi, avrei bisogno di un consiglio.

    Allora, ho un problema che in realtà dovrei aver risolto da solo.

    Allora ho una lista con 300.000 record. La lista contiene oggetti di tipo Cap creati da me.

    Faccio un ciclo for che scandisce l'intera lista.

    Nel mentre esegue alcuni controlli.

    Alla fine se tutto è andato correttamente inserisco l'oggetto iesimo in una LinkedHashMap con chiave String e value l'oggetto iesimo.

    Oltre a fare questo put eseguo anche un add in una linkedlist. Mi serve per una altra cosa.

    Ora accade che l'applicazione sta oltre 15 20 minuti a ciclare su questo processo.

    Però se trasformo la linkedlist in una linkedhasmap 300.000 record da 15 20 minuti vengono caricati in 7 8 seocndi.

    Ora capisco che la linkedlist è magari sbagliata o non è adatta a contenere molti dati.

    Mi potreste dare maggiori info

    grazie a tutti.

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Info su linkedlist e linkedhashmap maggiori delucidazioni

    Originariamente inviato da bircastri
    Però se trasformo la linkedlist in una linkedhasmap 300.000 record da 15 20 minuti vengono caricati in 7 8 seocndi.

    Ora capisco che la linkedlist è magari sbagliata o non è adatta a contenere molti dati.

    Mi potreste dare maggiori info
    Innanzitutto LinkedList e LinkedHashMap sono due cose un pochino diverse, perché la prima è una "lista", la seconda è una "mappa" (internamente però ha anche, affiancata, una lista, per mantenere un ordine sequenziale delle chiavi ed avere una iterazione "predicibile").

    LinkedList va molto bene se devi aggiungere solo in testa o coda e se devi iterare molto. Non va bene per un accesso "casuale" (dammi l'elemento all'indice x o cose del genere), perché essendo fatta di nodi collegati l'un l'altro in sequenza, deve scansionarsi potenzialmente tutta la lista.

    LinkedHashMap è una mappa, internamente ha una hash-table e quindi è veloce nel trovare una chiave. Ma è anche valida se si deve iterare molto (e con ordine predicibile).
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Ah ecco no lo lista mi serviva solamente per verificare che ad esempio all'iterata successiva non andavo ad esaminare un oggetto già presente quindi io penso che quando facevo

    listalinkata.get(i), con i=10000 lui partiva cmq dal 1 record fino al 10.000 e quindi faceva perdere un casino di tempo.

    Cmq grazie per le spiegazioni sei stato molto utile.

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 © 2025 vBulletin Solutions, Inc. All rights reserved.