Visualizzazione dei risultati da 1 a 4 su 4

Visualizzazione discussione

  1. #3
    Utente di HTML.it
    Registrato dal
    Feb 2016
    Messaggi
    10
    Ho provato a dichiarare il nuovo comparatore come nested class nella classe Contenitore
    codice:
    public class Contenitore {
    
        TreeSet<Prodotto> set;
    
    
        public Contenitore() {
             this.set = new TreeSet<Prodotto>();
        }
    
    
        public static  class PriceComp implements Comparator<Prodotto> {
            public int compare(Prodotto a, Prodotto b) {
                return a.price.compareTo(b.price);
            }
        }
        
        
        public static void  stampacollezione(TreeSet<Prodotto> set)
        {
            set=new TreeSet<Prodotto>(new PriceComp());
            for(Prodotto t:set)
            {
                System.out.println(t.toString());
            }
            
            
        }
        
        public static void stampa(TreeSet<Prodotto> set)
        {
            for(Prodotto t:set)
            {
                System.out.println(t.toString());
            }
        }
    
    
        public static void main(String[] args) {
            Prodotto a = new Prodotto(345.2, 45);
            Prodotto b = new Prodotto(745.2, 45);
            Prodotto c = new Prodotto(945.2, 45);
            Prodotto d = new Prodotto(345.2, 55);
            Prodotto e = new Prodotto(845.2, 45);
    
    
            Contenitore g = new Contenitore();
            // g.set=new TreeSet<Prodotto>();
            g.set.add(a);
            g.set.add(b);
            g.set.add(c);
            g.set.add(d);
            g.set.add(e);
    
    
            stampacollezione(g.set);
    
    
            stampa(g.set);
        
                    
        }
    
    
    }
    ho dichiarato static la classe PriceComp nel Contenitore e non ci sono errori di compliazione,
    ma stranamente la stampa della collezione ordinata per prezzo non avviene al contrario di quella standard ordinata per ID mediante comparable...
    Ultima modifica di Nasio91; 13-07-2018 a 15:09

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.