Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it L'avatar di tony83
    Registrato dal
    Feb 2005
    Messaggi
    3,179

    <Java 6> [Ordinare un TreeMap] Ordinare per valore

    Come faccio ad ordinare un Treemap per valore? Ci sono Stringhe..
    Tony

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

    Re: <Java 6> [Ordinare un TreeMap] Ordinare per valore

    Originariamente inviato da tony83
    Come faccio ad ordinare un Treemap per valore? Ci sono Stringhe..
    No, non è possibile. Un TreeMap è una collezione di tipo "sorted", cioè la collezione internamente è mantenuta ordinata basandosi sul contenuto delle chiavi sfruttando la comparazione tramite Comparable (o Comparator).
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it L'avatar di tony83
    Registrato dal
    Feb 2005
    Messaggi
    3,179

    Re: Re: <Java 6> [Ordinare un TreeMap] Ordinare per valore

    Originariamente inviato da andbin
    No, non è possibile. Un TreeMap è una collezione di tipo "sorted", cioè la collezione internamente è mantenuta ordinata basandosi sul contenuto delle chiavi sfruttando la comparazione tramite Comparable (o Comparator).
    Allora posso avere una struttra che ha chiave doppie e ordinare per chiave? con che struttura? come?
    Tony

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

    Re: Re: Re: <Java 6> [Ordinare un TreeMap] Ordinare per valore

    Originariamente inviato da tony83
    Allora posso avere una struttra che ha chiave doppie e ordinare per chiave? con che struttura? come?
    Chiavi doppie?? Tra l'altro una chiave non può certo essere doppia in un Map.
    Comunque bisogna vedere cosa devi farci. Se ti interessano solo i valori, allora potresti ottenere un Collection<V> dalla Map (vedi metodo values() ), quindi ordinarlo (non direttamente, un generico Collection non è ordinabile) e .. farci quello che vuoi. Ma dipende se ti va bene in base a cosa devi fare di preciso (e non posso saperlo se non lo spieghi).
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Utente di HTML.it L'avatar di tony83
    Registrato dal
    Feb 2005
    Messaggi
    3,179

    Re: Re: Re: Re: <Java 6> [Ordinare un TreeMap] Ordinare per valore

    Originariamente inviato da andbin
    Chiavi doppie?? Tra l'altro una chiave non può certo essere doppia in un Map.
    Comunque bisogna vedere cosa devi farci. Se ti interessano solo i valori, allora potresti ottenere un Collection<V> dalla Map (vedi metodo values() ), quindi ordinarlo (non direttamente, un generico Collection non è ordinabile) e .. farci quello che vuoi. Ma dipende se ti va bene in base a cosa devi fare di preciso (e non posso saperlo se non lo spieghi).
    hai ragione scusa...

    Allora ti spiego!

    io avrei bisogno di inserire in una struttura tipo hashmap o treemap, composta da stringa stringa come chiave, valore, una serie di coppie in questa maniera:

    nella chiave ci metto i codice fiscali mentre nei valori l'ente o viceversa, il fatto che devo riuscire a trovare una soluzione per far si che per ogni ente riesco a fare una determinata azione.
    Mettendo in ordine i valori io potrei tranquillamente fare un controllo sul precedente verificando se esistono più persone con lo stesso ente, ma se sono in ordine sparso sarà difficle che possa fare una cosa del genere.
    Capisci quello che intendo dire?
    Tony

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

    Re: Re: Re: Re: Re: <Java 6> [Ordinare un TreeMap] Ordinare per valore

    Originariamente inviato da tony83
    nella chiave ci metto i codice fiscali mentre nei valori l'ente o viceversa, il fatto che devo riuscire a trovare una soluzione per far si che per ogni ente riesco a fare una determinata azione.
    Mettendo in ordine i valori io potrei tranquillamente fare un controllo sul precedente verificando se esistono più persone con lo stesso ente, ma se sono in ordine sparso sarà difficle che possa fare una cosa del genere.
    Senza dover essere dei guru del codice fiscale, è risaputo che esso non è univoco. Pertanto due persone potrebbero avere lo stesso c.f.

    A questo punto dovresti specificare ancora meglio cosa intendi fare: ti interessa accedere velocemente alla map avendo come chiave un c.f oppure un nome di ente/persona? O entrambe le possibilità?

    Se ti interessa avere come chiave un c.f., allora come valore dovresti avere una lista di nomi. Nulla ti vieta comunque di avere 2 map, una per cf->nome/i e l'altra per nome->cf.

    Inoltre: ti serve realmente un TreeMap? Cioè hai bisogno che la collezione sia tenuta ordinata in base al contenuto delle chiavi?
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  7. #7
    Utente di HTML.it L'avatar di tony83
    Registrato dal
    Feb 2005
    Messaggi
    3,179

    Re: Re: Re: Re: Re: Re: <Java 6> [Ordinare un TreeMap] Ordinare per valore

    Originariamente inviato da andbin
    Senza dover essere dei guru del codice fiscale, è risaputo che esso non è univoco. Pertanto due persone potrebbero avere lo stesso c.f.

    A questo punto dovresti specificare ancora meglio cosa intendi fare: ti interessa accedere velocemente alla map avendo come chiave un c.f oppure un nome di ente/persona? O entrambe le possibilità?

    Se ti interessa avere come chiave un c.f., allora come valore dovresti avere una lista di nomi. Nulla ti vieta comunque di avere 2 map, una per cf->nome/i e l'altra per nome->cf.

    Inoltre: ti serve realmente un TreeMap? Cioè hai bisogno che la collezione sia tenuta ordinata in base al contenuto delle chiavi?
    Interessa accedere velocemente alla map avendo entrambe le possibilità.

    In realtà gli enti devono essere ordinati perchè devo fare un confronto e capire quali sono quelli uguali e quali no
    Tony

  8. #8
    Utente di HTML.it L'avatar di tony83
    Registrato dal
    Feb 2005
    Messaggi
    3,179

    Re: Re: Re: Re: Re: Re: Re: <Java 6> [Ordinare un TreeMap] Ordinare per valore

    Originariamente inviato da tony83
    Interessa accedere velocemente alla map avendo entrambe le possibilità.

    In realtà gli enti devono essere ordinati perchè devo fare un confronto e capire quali sono quelli uguali e quali no
    Ho deciso..

    Farò un treemap con all'interno come chiave ente e come valore un hashmap contenente (chiave: Cf, valore: Ente)

    le chiavi sono univoche quindi perfetto..

    Ora la domanda è:

    come faccio per ordinare il treemap per chiave considerando che sono stringhe?
    Tony

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

    Re: Re: Re: Re: Re: Re: Re: Re: <Java 6> [Ordinare un TreeMap] Ordinare per valore

    Originariamente inviato da tony83
    Farò un treemap con all'interno come chiave ente e come valore un hashmap contenente (chiave: Cf, valore: Ente)
    Non capisco l'utilità di una struttura dati del genere.

    Originariamente inviato da tony83
    come faccio per ordinare il treemap per chiave considerando che sono stringhe?
    String implementa Comparable<String> quindi in un TreeMap chiavi di tipo String sono già tenute ordinate secondo il "natural ordering".
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  10. #10
    Utente di HTML.it L'avatar di tony83
    Registrato dal
    Feb 2005
    Messaggi
    3,179

    Re: Re: Re: Re: Re: Re: Re: Re: Re: <Java 6> [Ordinare un TreeMap] Ordinare per valor

    Originariamente inviato da andbin
    Non capisco l'utilità di una struttura dati del genere.

    String implementa Comparable<String> quindi in un TreeMap chiavi di tipo String sono già tenute ordinate secondo il "natural ordering".
    Voglio che sia ordinato come il treemap ed avere chiavi non univoche allo stesso tempo!!

    come posso fare?
    Tony

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.