2015-09-20 75 views
0

我將如何返回隊列列表並獲得第二個隊列? 如何通過Deque的位置返回值? 實施例:Deque通過它的位置獲取值

Deque queue = new LinkedList(); 
    public void QueneTesting(){ 
    queue.add("First in line"); 
    quene.add("Second in line"); 
    quene.add("Third in line"); 
    } 
+3

你試過了什麼,結果是什麼?正如你在學校所做的那樣,請展示你的工作。 :)這是在SO上獲得問題的過程中的一部分。這對你很有幫助,因爲它會迫使你調查自己的問題並思考問題。這也向讀者證明你做了功課,並做出了合理的嘗試來回答你自己的問題。第三,它可以幫助讀者找到和診斷問題,爲您提供更好的答案,減少浪費時間。 – JeffC

+0

@MadPhysicist ......你有沒有機會吝嗇隊列? – Moira

回答

1

Queue接口不能被用於遍歷它的值或得到的值由它的位置,而不去除從隊列元素。看看JavaDoc for it's methods

但是,只要它在您的情況下實現LinkedList,您就可以將您的隊列轉換爲List或甚至LinkedList,如果您需要它的特定行爲並在需要時使用它。例如,用simle列表:

List list = (LinkedList) queue; 
//print all content 
for (String temp : list) { 
    System.out.println(temp); 
} 
//get the second element in a list 
String value = list.get(1); 
+0

我可以通過Deque獲得它的價值嗎? – 2Hash

+0

當然不,隊列和分派都不適合這種用法。他們只是爲了使fifo和lifo行爲 – Stanislav

+0

在這兩種情況下,你必須將其轉換成其他東西,以獲得任何價值的位置 – Stanislav