es decir, ¿el conjunto de Ruby es equivalente al LinkedHashSet de Java?¿El conjunto en Ruby siempre conserva el orden de inserción?
8
A
Respuesta
10
En Ruby 1.9: sí. En Ruby 1.8: probablemente no.
Set
uses a Hash
internally; y dado que los hash están ordenados por inserción en 1.9, ¡ya está listo!
Como mu is too short señala, este es un detalle de implementación y podría cambiar en el futuro (aunque poco probable). Afortunadamente, la implementación actual de Set
es de rubí puro, y podría adaptarse en un OrderedSet
en el futuro si te gusta
Cuestiones relacionadas
- 1. ¿Cómo se conserva el orden de inserción en HashMap?
- 2. Ruby mantener el orden de inserción del hash
- 3. ¿Hash iterativo basado en el orden de inserción?
- 4. Implementación inamovible de Scala Map que conserva el orden de inserción
- 5. HashSet que conserva el pedido
- 6. ¿PLINQ conserva el orden original en una secuencia?
- 7. un C++ mapa hash que preserve el orden de inserción
- 8. Cambiar el orden de índice en el conjunto
- 9. ¿El orden de los elementos en el conjunto jQuery ajustado siempre coincide con el orden en que aparecen los elementos en el marcado?
- 10. ¿Cómo iterar sobre Multimap en el orden de inserción?
- 11. ¿La redirección 301 siempre conserva la referencia?
- 12. Establecer el orden de inserción de preservación de la colección
- 13. MySql en orden de conjunto?
- 14. Cómo está Hibernate decidiendo el orden de actualización/inserción/eliminación
- 15. Colecciones Java que mantienen el orden de inserción
- 16. Scala Group¿Para conservar el orden de inserción?
- 17. ¿Cómo manejar el orden de los métodos en Ruby?
- 18. cómo forzar IntelliJ para buscar siempre en el "Proyecto conjunto"
- 19. ¿Está garantizado que el iterador .each en ruby siempre da el mismo orden en los mismos elementos cada vez?
- 20. Concordancia bipartita ponderada máxima, restricción: el orden de cada gráfico se conserva
- 21. ¿Las colecciones de Do C# siempre imponen el orden?
- 22. Orden de inserción y recuperación de ArrayList
- 23. usando boost multi_index_container para conservar la orden de inserción
- 24. Inserción de aprendizaje Ordenar en Ruby
- 25. Inserción de colección Java: Conjunto vs. Lista
- 26. ¿Hibernate conserva el orden de un LinkedHashSet y, de ser así, cómo?
- 27. Linq to Objects: does GroupBy conserva el orden de los elementos?
- 28. ¿IEnumerable <TSource> Concat <TSource> conserva el orden de los elementos?
- 29. el orden en que se imprime el resultado de un conjunto en Python
- 30. Coredata y NSOrderedSet: ¿cómo se define el orden del conjunto?
Tipo de. [La documentación] (http://ruby-doc.org/stdlib-1.9.3/libdoc/set/rdoc/Set.html) dice "Set implementa una colección de valores desordenados sin duplicados". El uso de un hash internamente es un detalle de implementación que podría cambiar en cualquier momento y la "especificación" no garantiza la "orden". OTOH, también dice que "Set usa Hash como almacenamiento". asi que... –