2015-10-22 67 views
2

中的給定參數將對象添加到ArrayList我想模擬Java中的排隊系統。我無法通過方法

public void enqueue(Packet...packets) 
{ 
    // here the Packet object needs to be added to an existing ArrayList.. 

} 

我試圖增加包在我現有的ArrayList queue

queue.add(packets) 

如下但這不起作用。

我該如何做到最好?我不能給ArrayList作爲參數,它必須是Packet...packets

+2

檢查http://stackoverflow.com/questions/3158730/java-3-dots-in-parameters – sam

回答

2

我猜測「但它不起作用」,你的意思是,你想要添加每個數據包到單獨的數組中。

你可以迭代你的數組並一次添加一個數據包。

public void enqueue(Packet...packets) 
{ 
    for(Packet packet : packets){ 
    queue.add(packet); 
    } 
} 

注:

Packet... packets(或多或少)是說Packet[] packets

2

的另一種方式的問題是,包......是一個數組。 請嘗試:

queueList.addAll(Arrays.asList(packets)); 
+1

尼特:你沒有 「必須使用」 這一點;這只是一個方便的方法。 –

+0

謝謝你的提示。 –