Transforming arrays in-place with parallel collections
问题 When one has an array of objects it is often desirable (e.g. for performance reasons) to update (replace) some of the objects in place. For example, if you have an array of integers, you might want to replace the negative integers with positive ones: // Faster for primitives var i = 0 while (i < a.length) { if (a(i) < 0) a(i) = -a(i) i += 1 } // Fine for objects, often okay for primitives for (i <- a.indices) if (a(i) < 0) a(i) = -a(i) What is the canonical way to perform a modification like