0
當創建這樣2個隊列:Java數組隊列
ArrayQueue q1 = new ArrayQueue();
ArrayQueue q2 = new ArrayQueue();
for (int i = 0; i < 5; i++) {
q1.enqueue(new Integer(i));
}
for (int i = 5; i < 10; i++) {
q2.enqueue(new Integer(i));
}
System.out.println("q1: " + q1);
System.out.println("q2: " + q2);
它輸出:q1: 4,3,2,1,0
和q2: 9,8,7,6,5
。
我需要一種方法,將隊列q2
合併到具有交錯元素的隊列q1
中。 因此,如果println
'd再次輸出:q1: 0,5,1,6,2,7,3,8,4,9
和q2: 9,8,7,6,5
。
我的類包含所有適當的方法enqueue
,dequeue
,peek
,isEmpty
,size
,doubleSize
......我的方法名稱爲:
public void mergedQs(ArrayQueue q) {
}
基本上我想將對象添加到兩個隊列,然後合併第二個隊列放入第一個(不只是添加它們)。 理想情況下,我想避免投射它們或使用ArrayList,因爲我希望它們保持隊列。
我建議你使用ConcurrentLikedDeque。這裏是它的API [ConcurrentLinkedDeque](http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ConcurrentLinkedDeque.html)。如果你已經有了一個類,比如enqueue,dequeue等方法,你可以將ConcurrentLinkedDeque包裝到你的類中,並將它用作存儲我們對象的主要數據結構。 – nikkatsa