2017-05-19 3 views
-1

Ist es möglich, ein Array speziell hinzuzufügen, ein ConcurrentLinkedQueue? Wenn ja, wie genau würde die .add Anweisung aussehen?Wie kann ich ein Array zu einer Warteschlange hinzufügen?

DIES IST HAUSAUFGABEN RELATED ist jedoch mein ganzes Programm gemeint, Berechnungen durchzuführen auf MyObjects (der Standard-Konstruktor von MyObjects erzeugt Zufallswerte eine Tonne von Berechnungen durchzuführen).

Zum Beispiel:

//Note: I couldn't use the Diamond Braces for the Queue-type when posing this question 

ConcurrentLinkedQueue theLinkedQueue {MyObjects[]} = 
       new ConcurrentLinkedQueue{MyObjects[]}(); 

MyObjects[] theArray = null; 

for(int i = 0; i < 100; i++){ 
    theArray = new MyObjects[CONSTANT_SIZE]; 
    theLinkedQueue.add(theArray(objparameter1, objparameter2)); 
} 

Das Programm implementiert Multi-Threading und in meiner Thread-Klasse habe ich die Queue in die constructor geleitet und ist versucht, eine MyObject Array zu entfernen, die a MyObject Temp wird zeigen, aber bis jetzt kann ich nur eine einzige MyObject zu meinem Queue auf einmal hinzufügen und es ziehen. Ich möchte in der Lage sein, die gleiche Menge von MyObjects als einzelne Komponenten anstatt einzeln hinzuzufügen. Ich habe verschiedene Codezeilen nur für NetBeans IDE versucht, eine Methode zu empfehlen, eine UnsupportedOperation Exception zu werfen. Wie könnte ich Arrays in meine ConcurrentLinkedQueue hinzufügen?

(Entschuldigung, wenn meine Frage ist dicht oder verwirrend, erste Zeit hier zu buchen).

Antwort

1

Die korrekte Syntax für die Deklaration der Warteschlange ist:

ConcurrentLinkedQueue<MyObjects> theLinkedQueue = new ConcurrentLinkedQueue<>(); 

Beginnen Sie mit, und sehen, wie die Dinge gehen von dort aus.

0

Ich fand die Lösung, die einfach war, das Array ohne "ObjParameters" enthalten.

Ich vermutete, dass Sie den Parameter für jeden Array-Index übergeben mussten, was ziemlich albern scheint.

Verwandte Themen