Я использую Clojure, и мне нужно запустить небольшую симуляцию. У меня есть вектор длины n (n обычно между 10 и 100), который содержит значения. В каждом раунде моделирования (возможно, 1000 раундов вместе) одно из значений в векторе обновляется случайным образом. Думаю, я мог бы сделать это, используя массив Java и вызвав метод aset, но это нарушит идиому функционального программирования/неизменяемости.
Есть ли более функциональный способ сделать это, или мне просто нужно использовать массив Java?