Calculate the memory an array occupies including per-element and header overhead.
Dynamic arrays reserve spare capacity so appends stay amortised constant time, which means allocated memory exceeds the data held. Arrays of references cost an extra pointer per element on top of the objects themselves. Choosing a typed or primitive array over a reference array can halve memory use for large numeric datasets.
Array Memory
Memory = elements × (element size + reference size) × (1 + spare capacity) + header
Memory = elements × (element size + reference size) × (1 + spare capacity) + header Dynamic arrays reserve spare capacity so appends stay amortised constant time, which means allocated memory exceeds the data held. Arrays of references cost an extra pointer per element on top of the objects themselves.
Choosing a typed or primitive array over a reference array can halve memory use for large numeric datasets.
This calculator takes 5 inputs: Number of elements, Bytes per element, Array header overhead, Spare capacity reserved for growth, Elements are references. The pre-filled defaults are a realistic starting point — replace them with figures from your own environment for a result you can act on.