No es necesario especificar el tamaño de la matriz al crear la matriz, ¿verdad? Entonces, ¿por qué es necesario arrayWithCapacity? Y si configuro el tamaño de la matriz más pequeño de lo realmente necesario, ¿está bien?¿Cuál es la ventaja de usar arrayWithCapacity en lugar de usar array?
5
A
Respuesta
6
arrayWithCapacity es una optimización, no es necesario. Si conoce la cantidad de elementos de antemano, el sistema puede asignar almacenamiento en una llamada al sistema y en un fragmento de memoria. De lo contrario, el sistema tiene que redimensionar la matriz más adelante a medida que agrega más elementos y que tiende a ser lenta, lo que requiere asignaciones adicionales y posiblemente copiar datos del búfer antiguo al búfer nuevo.
1
array
crea una matriz vacía (y asigna memoria cuando agrega un objeto) mientras que arrayWithCapacity
crea una matriz con suficiente memoria asignada para contener esos objetos, pero siempre puede expandirla cuando sea necesario.
Cuestiones relacionadas
- 1. ¿Cuál es la ventaja de usar Python Virtualbox API?
- 2. ¿Cuál es la ventaja de usar memset() en C
- 3. ¿Cuál es la ventaja de usar métodos estáticos en Python?
- 4. ¿Cuál es la ventaja de usar varbinary sobre varchar aquí?
- 5. ¿Cuál es la ventaja de usar un ObjectId en lugar de un String simple?
- 6. ¿cuál es la ventaja de usar put y delete en lugar de simplemente get y post
- 7. ¿Cuál es exactamente la ventaja de usar Punjab
- 8. ¿Cuál es la ventaja de usar filter_has_var() sobre isset()
- 9. ¿Cómo sé cuál es el mejor lugar para usar 'usar'?
- 10. ¿Cuál es la ventaja de usar la declaración 'con .. como' en Python?
- 11. ¿Qué es el rendimiento ?, y ¿cuál es la ventaja de usar el rendimiento en asp.net?
- 12. ¿Cuál es la ventaja de usar `exec` sobre` type() `al crear clases en tiempo de ejecución?
- 13. ¿Es posible usar $ array =() en bash?
- 14. ¿Cuál es la ventaja de usar COM sobre una DLL simple?
- 15. ¿Cuál es la ventaja de usar controladores asíncronos en asp.net mvc?
- 16. ¿Cuál es la ventaja de usar unescape en document.write para cargar javascript?
- 17. ¿Cuál es la ventaja de usar "SET XACT_ABORT ON" en un procedimiento almacenado?
- 18. Ventaja de usar Views en MySQL
- 19. ¿Cuál es la ventaja de usar Sinon.js sobre el Spys integrado de Jasmine?
- 20. ¿Cuál es la ventaja de usar un RichTextBox sobre un TextBox?
- 21. ¿Cuál es la ventaja de Jikes RVM
- 22. ¿Cuál es la ventaja de usar ComparisonChain sobre Objects.equal() && Objects.equal() ... con Guava
- 23. ¿Cuál es la ventaja de utilizar NginX para Node.js?
- 24. ¿Cuál es la ventaja de establecer DataContext en código en lugar de XAML?
- 25. Ventaja de usar un marco de CSS
- 26. ¿Cuál es la ventaja de WSDualHttpBinding en WCF?
- 27. SPL vs. Array: ¿Cuándo deberíamos usar SPL y cuándo debemos usar Array en PHP?
- 28. ¿Cuál es la ventaja de utilizar la codificación Base64?
- 29. ¿Cuál es la ventaja de utilizar clases abstractas en lugar de rasgos?
- 30. Ventaja de usar Thread.Start vs QueueUserWorkItem