Как инициализировать и «изменить» циклический постоянный структура данных в Scala?

Я искал и нашел некоторую информацию по этой теме, но ответы либо сбивают с толку, либо неприменимы.

У меня есть что-то вроде этого:

class Thing (val name:String, val refs:IndexedSeq[Ref])
class Ref (val name:String, val thing:Thing)

Теперь, я хочу сказать, загрузите файл , проанализируйте его и заполните эту структуру данных из него. Он неизменный и циклический, как это можно сделать?

Кроме того, допустим, я заполняю эту структуру данных, теперь я хочу изменить ее, например, изменить rootThing.refs (3) .name, как это можно сделать ?


Спасибо за идеи, размещенные здесь. На данный момент я думаю, что если кому-то действительно нужны постоянные структуры данных для чего-то вроде этого, подумайте нестандартно и подумайте, какие вопросы должен будет задать клиентский код. Поэтому вместо того, чтобы думать об объектах и ​​полях, подумайте о запросах, индексах и т. Д. Для начала я думаю о следующем: Is there a bidirectional multimap persistent data structure?

12
задан Community 23 May 2017 в 11:51
поделиться