Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2009
    Messaggi
    88

    quale struttura dati è conveniente per una collezione di oggetti molto grande?

    Salve a tutti, volevo un consiglio su quale struttura dati da utilizzare per un programma java.

    esempio:
    -ho una super classe persona (oggetti di persone),
    - una classe studente contenente campi nome,cognome,matricola,voto... (insieme di n studenti)
    -una classe dipendente contenente nome,cognome,stipendio,..... (insieme di n dipendenti)
    -infine altre sottoclassi della classe persona con diversi ruoli . (insieme di altri n oggeti)
    tutti dati sono memorizzati in un file di testo.
    la classe persona contiene riferimenti(oggetti studente,dipendente e altri oggetti).

    Avevo pensato di usare l'array ma mi sono reso conto che è inefficente nel caso di inserimento/cancellazione in una posizione qualunque.

    ho pensato quindi di usare il framework di java (ArrayList,LinkedList), risolve il problema di insermento e cancellazine dei dati, però nel memorizzare riferimenti oggetti l'indice viene sballato e sopratutto lper a ricerca di un elemento è molto inefficente.

    riassumento ho una struttura dati Persona (contenenti riferimenti di n studenti, n dipendenti e altri oggetti con rispettivi campi della classe).
    devo cercare una persona e a seconda che appartiene alla classe studenti o dipendenti devo cancellare l'oggetto, inserire un nuovo oggetto, e aggiornare un campo, esempio aumento stipendio di una data persona.

    per la ricerca avevo pensato alla HashMap (chiave/valore), pero dopo tanti tentativi mi fermo,per chiedere se qualcuno gentilmente mi può consigliare quale struttura dati da utilizzare.

    Ringrazio in anticipo,

  2. #2
    La TreeMap usa un albero RB ordinato e tutte le operazioni hanno un costo O(log(n)).
    Oltretutto quando devi sostituire un oggetto lo puoi fare con una put() lo sostituisce con il nuovo oggetto.

    Guarda la documentazione:
    http://java.sun.com/j2se/1.4.2/docs/...l/TreeMap.html
    Coltiva Linux, Windows si pianta da solo!

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    1,123
    è meglio se gli linki prima la 1.5, visto che sono stati implementati come generici

    http://java.sun.com/j2se/1.5.0/docs/...l/TreeMap.html

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.