2016-09-21 1 views
0

Ich bin etwas verwirrt, wie die folgende Ausgabe zu implementieren,Wie Map zur Umsetzung mit Queue von Objekten

{ 
    "finalOutput":{["test":{[],[],[],[],[],[],[],[],[],[]}, 
    "test1":{[],[],[]....[]}, 
    "test2":{[],[]....[]}]} 
} 

.

Für diese Ausgabe sollte One Key 10 Objekte mit Warteschlangenkonzepten haben. Zum Beispiel Schlüssel wie college : {[],[],[],[],[],[],[]..}. Jeder Schlüssel sollte nicht mehr als 10 Werte enthalten. Also ich denke, mit ConcurrentLinkedDeque<Object> zu implementieren. Ich weiß nicht, wie man es umsetzt.

Ich denke mit MultivaluedMap, aber ich muss prüfen, ob jeder Schlüssel 10 oder weniger Objekte hat. sollte nicht mehr als 10 sein, also müssen mit FIFO-Politik überprüfen. (Wenn mehr als 10 zuerst entfernen und die Werte einfügen.)

Kann mir bitte vorschlagen, wie Sie implementieren. Wenn jemand eine Probe hat, bitte hilf mir.

+0

Ist es ein JSON-Objekt? – passion

+0

Ja, Json Object, aber müssen mit FIFO auch implementiert werden, so dass ich verwirrt, wie zu implementieren. –

+0

von der JSON RFC: "Ein Objekt ist eine ungeordnete". Wenn jedes '[]' (Array) Element in Ihrer FIFO-Warteschlange ist, wird es nicht funktionieren. http://www.rfc-editor.org/rfc/rfc7159.txt –

Antwort

-1

Sie können eine Karte mit den Werten BlockingQueue mit der Größe 10 erstellen. Wenn einige nicht sicher in der Nebenläufigkeit sind, bitte sagen Sie mir. Ich denke es ist ok .

+0

Großartig, vielen Dank für Ihren Vorschlag, aber ich denke, statt BlockingQueue ist die ConcurrentLinkedDeque besser? Bz ConcurrentLinkedDeque unterstützt Multithreading und Thread Safe. –

+0

@ Dharmaraja.k 'BlockingQueue' s thread sicher auch. – passion

+0

1. Warum überschreiben/setzen? 2. Diese Implementierung wird in multi-threaded Umgebung, wenn die Leistung von Bedeutung ist. Vermeiden Sie Synchronisierungen und verwenden Sie bessere simultane Primitive, die Ihnen die Sprache bietet. in diesem Fall, verwenden Sie einfach 'compute' Methode von ConcurrentMap - die Sperrenverwaltung ist mehr richtig und Sie werden diesen seltsamen Code vermeiden. –

Verwandte Themen