Sí, su primer párrafo en la descripción tiene razón (mientras que el segundo no): ninguno de los datos en estructuras de datos inmutables puede cambiar, y no se pueden agregar, eliminar o reorganizar datos. Si desea realizar este tipo de actualización, debe hacer una copia que tenga esos cambios.
Lo que encuentro más útil sobre el uso de estructuras de datos inmutables es que elimina la posibilidad de sorpresas desagradables que son demasiado comunes y difíciles de garantizar que no sucederán con estructuras de datos mutables. Por ejemplo, sabe que un subproceso no puede eliminar elementos de él mientras otro lo recorre en bucle o, lo que es peor, cambiar un valor a nulo justo después de que otro subproceso haya verificado que no es nulo. Siempre puede estar seguro de que sus condiciones previas en un hilo seguirán siendo válidas durante todo su uso. Si ha leído antes que las estructuras de datos inmutables hacen que sus programas sean “más fáciles de razonar”, este es un gran ejemplo de por qué.
- ¿Cuáles son algunas de las implementaciones de cola (montón) de prioridad más rápida en C ++?
- ¿Qué es un programa Java para calcular el factorial de un número dado?
- Como principiante, ¿cómo comenzar a codificar el árbol y el gráfico? ¿Cómo implementar la lógica de árbol y gráfico en problemas?
- ¿Cómo podemos revertir una pila usando solo las operaciones push () y pop () sin usar ningún DS secundario?
- Cómo calcular la similitud semántica entre un automóvil y una bicicleta mediante el algoritmo Jian y Conrath