import java.util.*; /** * Program * @author Sven Pfaller (kalterregen@gmx.net) */ public class Program { public static void main (String[] args) { // Temporäre Variablen Warteschlange queue = null; Warteschlange queue2 = null; PriorisiertesElement item = null; // Verschiedene Tests durchführen System.out.print("--- Create queue ---\n"); queue = new Warteschlange(); System.out.print(queue); System.out.println(); // --- System.out.print("--- Fill queue with some values ---\n"); queue.enqueue("Hallo", 100); queue.enqueue("Feueralarm", 50); queue.enqueue("Pupsen", 1); System.out.print(queue); System.out.println(); // --- System.out.print("--- Fill queue with other values ---\n"); queue.enqueue("Test", 12); queue.enqueue("Minus", -20); queue.enqueue("Test", 312); System.out.print(queue); System.out.println(); // --- System.out.print("--- Enqueue item with exisiting priority ---\n"); queue.enqueue("Kanu", 100); System.out.print(queue); System.out.println(); // --- System.out.print("--- Dequeue some items ---\n"); item = queue.dequeue(); System.out.print("Dequeue: " + item.wert() + " (" + item.prioritaet() + ")\n"); item = queue.dequeue(); System.out.print("Dequeue: " + item.wert() + " (" + item.prioritaet() + ")\n"); item = queue.dequeue(); System.out.print("Dequeue: " + item.wert() + " (" + item.prioritaet() + ")\n"); System.out.print(queue); System.out.println(); // --- System.out.print("--- Enqueue items with same priority ---\n"); queue.enqueue("1", -13); queue.enqueue("2", -13); queue.enqueue("3", -13); System.out.print(queue); System.out.println(); // --- System.out.print("--- Dequeue via priority ---\n"); System.out.print("Dequeue 11: " + queue.dequeue(11) + "\n"); System.out.print("Dequeue -13: " + queue.dequeue(-13) + "\n"); System.out.print(queue); System.out.println(); // --- System.out.print("--- Enqueue null ---\n"); queue.enqueue(null, 7000); System.out.print(queue); System.out.println(); // --- System.out.print("--- Iterate through queue and test remove ---\n"); Iterator> iter = queue.iterator(); System.out.print("Next: " + iter.next().wert() + "\n"); iter.remove(); System.out.print("Removed!\n"); System.out.print("Next: " + iter.next().wert() + "\n"); System.out.print("Next: " + iter.next().wert() + "\n"); System.out.print("Next: " + iter.next().wert() + "\n"); iter.remove(); System.out.print("Removed!\n"); try { iter.remove(); System.out.print("UNEXPECTED"); } catch (Exception e) { System.out.print(e + "\n"); } System.out.print("Next: " + iter.next().wert() + "\n"); try { iter.next(); System.out.print("UNEXPECTED"); } catch (Exception e) { System.out.print("Next: " + e + "\n"); } System.out.print(queue); System.out.println(); // --- System.out.print("--- Create another queue and fill with some values ---\n"); queue2 = new Warteschlange(); queue2.enqueue(null, 100); queue2.enqueue("20", 20); queue2.enqueue("nix", -1000); queue2.enqueue("high", 1000); System.out.print(queue2); System.out.println(); // --- System.out.print("--- Add queue 2 to queue 1 ---\n"); queue.enqueueAll(queue2); System.out.print("Queue 1:\n"); System.out.print(queue); System.out.print("Queue 2:\n"); System.out.print(queue2); System.out.println(); // --- System.out.print("--- Add null-queue to queue 1 ---\n"); try { queue.enqueueAll(null); System.out.print("UNEXPECTED"); } catch (Exception e) { System.out.print(e + "\n"); } System.out.println(); // --- System.out.print("--- Clear queue 1 ---\n"); queue.clear(); System.out.print(queue); System.out.println(); // --- System.out.print("--- Get front-item of empty queue ---\n"); try { queue.front(); System.out.print("UNEXPECTED"); } catch (Exception e) { System.out.print(e + "\n"); } System.out.println(); // --- System.out.print("--- Dequeue from empty queue ---\n"); try { queue.dequeue(); System.out.print("UNEXPECTED"); } catch (Exception e) { System.out.print(e + "\n"); } System.out.println(); } }