/** * Pakka. Abstraktin tietotyypin Pakka suomenkielinen rajapinta. */ public interface Pakka { /** * Pakan tyhjyyden testaaminen. * * @return true jos pakassa ei ole alkioita, muuten false. */ public boolean onkoTyhja(); /** * Lisää pakan alkupäähän alkion x. * * @param x lisättävä alkio. */ public void lisaaAlkuun(E x); /** * Lisää pakan loppupäähän alkion x. * * @param x lisättävä alkio. */ public void lisaaLoppuun(E x); /** * Pakan ensimmäisen alkion kurkistaminen. * * @return pakan ensimmäinen alkio. * @throws java.util.NoSuchElementException jos pakka on tyhjä. */ public E alku(); /** * Pakan viimeisen alkion kurkistaminen. * * @return pakan ensimmäinen alkio. * @throws java.util.NoSuchElementException jos pakka on tyhjä. */ public E loppu(); /** * Pakan ensimmäisen alkion poistaminen ja palauttaminen. * * @return pakan ensimmäinen alkio. * @throws java.util.NoSuchElementException jos pakka on tyhjä. */ public E poistaAlusta(); /** * Pakan viimeisen alkion poistaminen ja palauttaminen. * * @return pakan viimeinen alkio. * @throws java.util.NoSuchElementException jos pakka on tyhjä. */ public E poistaLopusta(); }