Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2011
    Messaggi
    106

    [JAVA] TreeSet

    Ciao ragazzi, ho un problema. Sto utilizzando questa struttura solo che (giustamente) quando vado a stampare tutti i valori contenuti nell 'albero essi non sono ordinati in ordine crescente.
    In poche parole, io prendo dei valori (salvati in un arrayList<object>) da un file di testo. Tutti questi valori (sono tutti interi ma vengono visti tutti come Object) vengo messi successivamente dentro al mio albero.
    Ora io vorrei stampare i valori in ordine crescente (intesi come int)..come faccio?

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    613

    Re: [JAVA] TreeSet

    Originariamente inviato da albymotard
    Ciao ragazzi, ho un problema. Sto utilizzando questa struttura solo che (giustamente) quando vado a stampare tutti i valori contenuti nell 'albero essi non sono ordinati in ordine crescente.
    In poche parole, io prendo dei valori (salvati in un arrayList<object>) da un file di testo. Tutti questi valori (sono tutti interi ma vengono visti tutti come Object) vengo messi successivamente dentro al mio albero.
    Ora io vorrei stampare i valori in ordine crescente (intesi come int)..come faccio?
    TreeSet ha i metodi iterator e descendingIterator che restituiscono rispettivamente iteratori in ordine crescente e decrescente, usali e la stampa sara' ordinata in questo modo.
    Se sai che gli elementi sono interi, specificalo come tipo parametrizzato, utilizzare Object e come non usare nemmeno i generici.
    Se gli dici che sono Object, come fa ad ordinarli come se fossero interi?

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2011
    Messaggi
    106
    ok allora posso fare semplicemente cosi. Perché ti spiego...quando stampavo bene o male i valori inseriti venivano stampati con un certo ordine e pensavo che dovessi trovare io il modo per stamparli ordinatamente...invece ho visto che mettendoli a intero fa già tutto lui....grazie

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    613
    Originariamente inviato da albymotard
    ok allora posso fare semplicemente cosi. Perché ti spiego...quando stampavo bene o male i valori inseriti venivano stampati con un certo ordine e pensavo che dovessi trovare io il modo per stamparli ordinatamente...invece ho visto che mettendoli a intero fa già tutto lui....grazie
    Mettendoli ad intero riesce ad ordinarli perche' Integer implementa l'interfaccia Comparable<Integer>, quindi la struttura dati puo' invocare compareTo sugli elementi che gli passi e capire chi e' maggiore di chi.
    Piu' in generale, se vuoi che la struttura possa (se lo prevede) mantenere i tuoi elementi ordinati hai due opzioni: utilizzare un tipo generico E che implementi Comparable<E> oppure passare alla struttura un oggetto di interfaccia Comparator<E> che crei tu con i metodi compareTo ed equals come specificati nell'interfaccia; se gli passi una di queste due cose (ovviamente correttamente funzionante) la struttura puo' ordinare.

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.