2017-02-04 12 views
1

我想在相應的索引中存儲整數的數量。能夠並行更新計數。 我發現java.util.concurrent.atomic.AtomicIntegerArray中,但它不可能通過API來獲取底層數組(我要地圖在這個陣列中端)在Scala/Java中是否存在併發可變數組(或任何其他索引隨機訪問)?

+1

你是什麼意思,「底層數組」? –

+0

@LouisWasserman AtomicIntegerArray只是底層的接口(private final int [] array;) – Deil

+0

是的,但它使用特殊的魔法來訪問它;你不能在不破壞併發的情況下訪問底層的'int []'。您需要使用其「get」和「length」方法來訪問它。 –

回答

4

由於AtomicIntegerArray支持length方法,我們可以在它迭代如下所示。 (使用scala)

(0 to atomicIntegerArray.length()-1) 
    .map(atomicIntegerArray.get) 
    .map(x => /*your map logic*/) 
+0

謝謝!這是一個簡單而偉大的解決方法!但無論如何,奇怪的是缺乏類似於AtomicIntegerArray的數據結構(索引和併發訪問更新)。也許有人知道其他類? – Deil

相關問題