Что было бы лучшим способом сохранить 1000000
номера телефонов в памяти с наименьшим размером памяти.Лучший способ хранить 1000000 номеров в памяти
Я думал просто использовать массив, но я уверен, что должен быть лучший способ
Что было бы лучшим способом сохранить 1000000
номера телефонов в памяти с наименьшим размером памяти.Лучший способ хранить 1000000 номеров в памяти
Я думал просто использовать массив, но я уверен, что должен быть лучший способ
Размер памяти не влияет на то, как вы храните коллекцию (!) Цифр, но больше того, как вы фактически храните один номер телефона (в виде строки или целого числа).
Если вы действительно хотите уменьшить объем памяти, попробуйте сохранить каждый номер телефона, используя long
.
Например, если вы сохраняете телефонные номера в ArrayList
, вы получите максимальные накладные расходы, например, 30%
, что не так уж много. Если вы сохраните каждый номер телефона в виде строки, вы получите накладные расходы, допустим, 900%
по сравнению с хранением данных с использованием целых чисел.
«int» не будет содержать, например, десятизначный номер телефона США №. – GriffeyDog
хорошо, 'длинный' тогда. Но все же это значительно сократит память: 'long' - это' 8' байт, но строка '10 * 2 = 20 байтов'. –
Согласен, 'long' является более компактным, сохраняя их в' String'. – GriffeyDog
сделать алгоритм для номера телефона. довольно сложный. если вы можете это сделать, это сэкономит массу памяти.
Утверждение, что сжатие номера телефона «довольно сложно» не помогает. Кроме того, это не очень сложно, если вы знаете, какие числовые форматы вам понадобятся - тогда это будет только немного смещение. – maxdev
Не нужно беспокоиться о том, что память хранит элемент '1000000' в' Java'. Просто используйте 'String'' Array' или 'List'. –
Для чего вы используете массив? Каждая цифра или массив телефонных номеров. Кроме того, '1m' не так уж много. –
Нет решения с меньшим размером, чем массив. Возможно, если вы воспользуетесь форматом номера телефона, вы можете попробовать использовать какое-то дерево префикса, но вам нужно будет оценить, стоит ли потеря памяти из-за дополнительных ссылок. – rhobincu