Class OrderedList<T extends Comparable<T>>

java.lang.Object
it.unimi.di.prog2.h22.OrderedList<T>

public class OrderedList<T extends Comparable<T>> extends Object
Lista ordinata di elementi di tipo T senza ripetizioni.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private boolean
    Indica se la lista è vuota.
    private OrderedList<T>
    Due sottoliste, contenenti i valori rispettivamente minori e maggiori di value.
    private OrderedList<T>
    Due sottoliste, contenenti i valori rispettivamente minori e maggiori di value.
    private T
    Il valore conservato da questo nodo della lista.
  • Constructor Summary

    Constructors
    Constructor
    Description
    Costruisce una lista vuota.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    add(T value)
    Aggiunge un elemento alla lista.
    Iteratore che elenca gli elementi della lista in ordine decrescente.
    private Iterator<T>
    concat(Iterator<T> first, Iterator<T> second)
    Un ieratore ottenuto per concatenazione.
    boolean
    contains(T value)
    Consente di determinare se un valore appartiene alla lista.
    private Iterator<T>
    Un iteratore vuoto.
    boolean
    Consente di determinare se la lista è vuota.
    max()
    Restituisce il massimo valore della lista.
    min()
    Restituisce il minimo valore della lista.
    boolean
    remove(T value)
    Rimuove un elemento dalla lista.
    int
    Restituisce il numero di elementi nella lista.
    Iteratore che elenca gli elementi della lista in ordine crescente.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • isEmpty

      private boolean isEmpty
      Indica se la lista è vuota.
    • value

      private T extends Comparable<T> value
      Il valore conservato da questo nodo della lista.
    • left

      private OrderedList<T extends Comparable<T>> left
      Due sottoliste, contenenti i valori rispettivamente minori e maggiori di value.
  • Constructor Details

    • OrderedList

      public OrderedList()
      Costruisce una lista vuota.
  • Method Details

    • size

      public int size()
      Restituisce il numero di elementi nella lista.
      Returns:
      il numero di elementi nella lista, 0 se è vuota.
    • isEmpty

      public boolean isEmpty()
      Consente di determinare se la lista è vuota.
      Returns:
      se la lista è vuota.
    • contains

      public boolean contains(T value)
      Consente di determinare se un valore appartiene alla lista.
      Parameters:
      value - il valore da cercare.
      Returns:
      se appartiene alla lista.
    • add

      public void add(T value)
      Aggiunge un elemento alla lista.
      Parameters:
      value - l'elemento da aggiungere.
      Throws:
      IllegalArgumentException - se l'elemento è già presente.
    • min

      public T min()
      Restituisce il minimo valore della lista.
      Returns:
      il minimo valore della lista.
      Throws:
      NoSuchElementException - se la lista è vuota.
    • max

      public T max()
      Restituisce il massimo valore della lista.
      Returns:
      il massimo valore della lista.
      Throws:
      NoSuchElementException - se la lista è vuota.
    • remove

      public boolean remove(T value)
      Rimuove un elemento dalla lista.
      Parameters:
      value - l'elemento da rimuovere.
      Returns:
      se l'elemento è stato rimosso.
    • emptyIterator

      private Iterator<T> emptyIterator()
      Un iteratore vuoto.
      Returns:
      l'iteratore.
    • concat

      private Iterator<T> concat(Iterator<T> first, Iterator<T> second)
      Un ieratore ottenuto per concatenazione.

      L'iteratore elenca dapprima gli elementi di first, poi value e quindi quelli di second.

      Parameters:
      first - il primo iteratore, non deve essere null.
      second - il secondo iteratore, non deve essere null.
      Returns:
      l'iteratore concatenato.
    • smallToBig

      public Iterator<T> smallToBig()
      Iteratore che elenca gli elementi della lista in ordine crescente.
      Returns:
      l'iteratore.
    • bigToSmall

      public Iterator<T> bigToSmall()
      Iteratore che elenca gli elementi della lista in ordine decrescente.
      Returns:
      l'iteratore.