¿Cómo obtener un mapa de matriz de clojure para mantener el orden de inserción después de assoc?

Yo tengo unarray-map que soyassocCon algunos valores en ello. Después de un cierto tamaño el valor devuelto es unPersistentHashMap en lugar del originalPersistentArrayMap. He leído sobre este comportamiento en algunos sitios web. ¿Hay alguna forma de forzar el orden de inserción incluso después deassoc?

Tengo una función separada que tendrá unaash-map y un vector de teclas, y devolver un "fresco".array-map con las claves en este orden, pero significa que para cada asociación, primero tengo que extraer las claves, contras / conj la nueva clave al vector, y luego crear un nuevo mapa de matriz. Parece kludgey, incluso si está escrito en una función separada.

¿Existe una forma más directa de mantener el orden de inserción en el lenguaje incluso en el mapa de matriz de teclas grandes-ish (> 10, pero <50)?

En caso de que sea relevante, estoy usando una lista de mapas de matrices como datos en un conjunto de datos de incanter y luego hago una salida para sobresalir. La función save-xls mantiene el orden de las claves / columnas.

Gracias

Respuestas a la pregunta(1)

Su respuesta a la pregunta