Geneerisen tyypin käyttö javassa. (jdk 1.5+)
/* * Toteutetaan Jono-tietorakenne käyttämällä hyväksi javan geneeriset tyypit * * * Jono on järjestettyjen alkioiden kokoelma, jossa lisäykset tapahtuvat aina * loppuun ja jossa alkio voidaan ottaa vain listan alusta. * * Jonon pitäisi toteutaa seuraavat operaatiot: * enqueue - Vie alkion jonon loppuun * dequeue - Ottaa alkion jonon alusta * is_empty - Onko jono tyhjä */ class Queue<T> { private static final int MAX_QUEUE = 100; private T[] obj; private int first = 50; private int last = 50; private int number_of_obj = 0; public Queue() { obj = (T[]) new Object[MAX_QUEUE]; } // Viedään alkio jonon lopuun public void enqueue( T o ) { obj[last++] = o; ++number_of_obj; // varmistetaan ettei mennyt taulukon ulkopuolelle if( last >= MAX_QUEUE ) last = 0; } // Otetaan alkio jonon alusta public T dequeue() { T o = obj[first++]; --number_of_obj; // varmistetaan ettei mennyt taulukon ulkopuolelle if( first >= MAX_QUEUE ) { first = 0; } return o; } // Onko jono tyhjä public boolean is_empty() { return (number_of_obj == 0); } } public class QueueDemo { public static void main( String[] args ) { Queue<String> countrys = new Queue<String>(); // Stringin tilalla voisi olla joku // muu tyyppi, vaikapa Float countrys.enqueue( "Finland" ); countrys.enqueue( "Canada" ); countrys.enqueue( "France" ); // Tulostetaan nyt jonon sisältö for( int i=1; !countrys.is_empty(); i++ ) System.out.printf( "%d: %s%n", i, countrys.dequeue() ); } }
Aihe on jo aika vanha, joten et voi enää vastata siihen.