Wie kopiere ich eine Warteschlange in Java?

8

Ich habe eine Queue q1 und möchte ein Queue q2 erstellen, das identisch mit Queue q1 ist. Wie das geht, da die Warteschlange Cloneable nicht implementiert.

    
Razer 10.04.2014, 08:03
quelle

3 Antworten

12

In einem einzigen Liner:

new LinkedList<>(myQueue);

Da Queue extends Collection und Sammlungen einen Konstruktor haben, der ein weiteres Collection benötigt, ist dies ein schneller Weg, um einen flachen Klon zu erstellen.

Ersetzen Sie LinkedList durch Ihre eigene Queue Implementierung, wenn Sie möchten.

Lesen Sie auch die Javadocs. Sie haben alle Antworten.

    
Kayaman 10.04.2014, 08:08
quelle
2

Wenn q1 eine der JCF-Implementierungen von Queue wie ArrayQueue usw. ist, können Sie

verwenden %Vor%

sonst

%Vor%     
Evgeniy Dorofeev 10.04.2014 08:09
quelle
1

Sie können einen Iterator verwenden:

%Vor%     
mherbert 10.04.2014 08:11
quelle

Tags und Links