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

    [Esercizio] Ordinamento Collezione Di oggetti

    Salve, ho un esercizio con questa traccia:

    Realizzare un’astrazione in Java per ordinare una collezione di oggetti.


    Ho 2 domande:

    • 1) Un'astrazione una classe astratta o semplicemente una classe generica?
    • 2) Come posso implementare la classe? Facendo una ridichiarazione del compareTo() o gestendomi i dati in un array di stringhe e ordinarmeli con Arrays.sort()??

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da stefanaimon Visualizza il messaggio
    1) Un'astrazione una classe astratta o semplicemente una classe generica?
    Creare una "astrazione", nei linguaggi ad oggetti, significa creare un tipo (anzi per meglio dire un super-tipo) che è in grado di delineare le caratteristiche e le funzionalità comuni ad un certo numero di altri tipi.
    In Java una astrazione si può fare tanto con una interfaccia quanto con una classe astratta. Le differenze ci sono, ovviamente, a livello tecnico ma anche a livello concettuale, perché quale scegliere delle due opzioni dipende anche dal concetto espresso dalla astrazione.

    Quote Originariamente inviata da stefanaimon Visualizza il messaggio
    2) Come posso implementare la classe? Facendo una ridichiarazione del compareTo() o gestendomi i dati in un array di stringhe e ordinarmeli con Arrays.sort()??
    Il framework standard di Java definisce già due astrazioni per descrivere il criterio di comparazione tra oggetti: sono le due interfacce Comparable e Comparator.
    Non hai detto moltissimo ma se ti è stato chiesto di definire una tua astrazione per descrivere come vanno comparati gli oggetti, allora io presumo che tu debba fare una interfaccia similare a Comparable/Comparator. E a quel punto dovrai implementare il tuo sort, che si basa appunto sulla tua astrazione. Non potresti usare i Arrays.sort() (per array di oggetti) o i Collections.sort() perché questi si basano su Comparable/Comparator .... e non possono certo usare la tua astrazione!
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Grazie per la risposta
    ho optato per questa soluzione:

    codice:
    public class Studente implements Comparable<Targa>{
        public String c1,c2;	
    	public Studente(String c1,String c2){
    		this.c1=c1;
    		this.c2=c2;
    	}
    
            public int compareTo(Studente t) {
                   //condizioni di ordinamento
            }
    }
    L'unica domanda che ho:
    volendo utilizzare "comparator", come dovevo fare?

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.