Implementazione della sottoclasse SortedIntSet 1
public class SortedIntSet extends IntSet {
private OrderedIntList els; // la rappresentazione
// la funzione di astrazione:
// a(c) = c.els[1] , . . . , c.els[c.sz]
// l’invariante di rappresentazione:
// I(c) = c.els != null && c.sz = c.els.size()
public SortedIntSet () {els = new OrderedIntList() ;}
public int max () throws EmptyException {
if (sz == 0) throw new EmptyException("SortedIntSet.max");
public Iterator elements ( ) {return els.elements(); }
// implementations of insert, remove, e repOk
la funzione di astrazione va da liste ordinate a insiemi
- gli elementi della lista si accedono con la notazione []
l’invariante di rappresentazione pone vincoli su tutte e due le variabili di istanza (anche quella ereditata)
- els è assunto ordinato (perché così è in OrderedIntList)
si assume che esistano per OrderedIntList anche le operazioni size e max