Вы можете сделать вывод, что это экономит место на идеальной машине, где каждый байт распределяется эффективно.Однако реальные машины выделяют выровненные блоки памяти (8 байтов в Java и 16 байтов в некоторых C ++), и поэтому они могут не экономить место.
Строки и коллекции Java добавляют относительно большое количество накладных расходов, поэтому разница в процентах может быть очень небольшой.
Если ваша структура не очень велика, значение вашего тайм-аута взвешивает затраты на память, так как использование самого простого, стандартного и простого в обслуживании сбора намного важнее.Например, ваше время может легко стоить 1000x или больше значения памяти, которую вы пытаетесь сохранить.
Например, скажем, у вас есть 10000 имен, которые вы можете сохранить по 16 байт каждое с помощью дерева.(Предполагая, что это можно доказать, не занимая больше времени) Это равняется 16 КБ, что по сегодняшним ценам стоит 0,1 цента.Если ваше время обходится вашей компании в 30 долларов в час, стоимость написания одной строки протестированного кода может составить 1 доллар.
Если вы думаете, что это займет мгновение, чтобы сэкономить 16 КБ, вряд ли это будетстоит того для ПК.(мобильные устройства - другая история, но тот же аргумент применим ИМХО)
РЕДАКТИРОВАТЬ: Вы вдохновили меня на добавление обновления http://vanillajava.blogspot.com/2011/11/ever-decreasing-cost-of-main-memory.html