Кто-нибудь знает библиотеку структуры данных Java/JVM, обеспечивающую функциональность (неизменяемый или постоянный в функциональном смысле эквивалент a.k.a.) эквивалентных знакомых структур данных Java?
Под "функциональным" я подразумеваю, что сами объекты являются неизменяемыми, а модификации этих объектов возвращают новые объекты, которые совместно используют те же внутренние элементы, что и родительский объект (для эффективности как времени, так и пространства; наивная реализация может просто скопировать все на каждой записи).
Как и библиотеки Java concurrency, это не похоже на то, что я могу или должен реализовать сам, поэтому было бы неплохо иметь библиотеку функциональной библиотеки данных, которую я могу использовать в JVM.