Struttura della classe Tunes: istanzia un nuovo oggetto CDCollection e inserisce dati import CDCollection; public class Tunes public static void main (String[] args){ CDCollection music = new CDCollection (); music.addCD ( ... ); Classe CDCollection: rappresenta la collezione di CD come array di CD di lunghezza pari alla variabile di classe, che istanzia a ogni nuova creazione di collezione import CD; import java.text.NumberFormat; public class CDCollection { private CD[] collection; //array di oggetti CD private int count; private double totalValue; private int currentSize; // non è definito costante perché increaseSize la raddoppia public CDCollection () // istanzia l'array di CD e setta le variabili di classe public void addCD (String title, String artist, double value, int tracks) public String toString() private void increaseSize () // definita private perché è un metodo ausiliario } La classe CD rappresenta l'oggetto CD singolo import java.text.NumberFormat; public class CD { private String title, artist; private double value; private int tracks; public CD (String theTitle, String theArtist, double theValue, int theTracks) public String toString() } Nuova versione con una funzione di ordinamento della collezione, ottenuto implementando l’interfaccia Comparable nella classe SortableCD import SortedCDCollection; public class SortedTunes public static void main (String[] args){ SortedCDCollection music = new SortedCDCollection(); music.addCD ( ... ); import SortableCD; // la classe per generare CD singoli import Sorts; // la classe generale per ordinare oggetti import java.text.NumberFormat; public class SortedCDCollection { private SortableCD[] collection; private int count; private double totalValue; private int currentSize; public SortedCDCollection () public void addCD (String title, String artist, double value, int tracks) public String toString() private void sortCDs() // ordina gli elementi della collezione private void increaseSize () import java.text.NumberFormat; public class SortableCD implements Comparable { private String title, artist; private double value; private int tracks; public SortableCD (String theTitle, String theArtist, double theValue, int theTracks) public public public public String toString() int compareTo (Object obj) String getTitle() String getArtist() public class Sorts public static void selectionSort (int[] numbers) public static void insertionSort (int[] numbers) public static void insertionSort (Comparable[] objects) // overloading del metodo per ordinare un array di oggetti che // implementano l'interfaccia Comparable