Я не так разбираюсь в структурах данных Java (но обучения) и не знал, какой тип списка выбрать. Моя проблема заключается в том, что я создаю службу сокета, которая берет данные и проверяет их против списка, если он не существует, он передает данные для обработки и добавляет номер идентификатора данных в список, так что те же данные не будут (служба, обрабатывающая данные, не знает, существует ли дублируемая работа или нет, поэтому она действует как фильтр).Не знаете, какой тип списка выбрать?
Я читал, что arraylist работает быстро, но я просто понял, что он требует от меня знать размер списка раньше, чего я не делаю, поскольку он продолжает расти (он наверняка поразит несколько миллиардов предметов). Я думал, что просто использую целое целое число [], но думал, что спрошу, есть ли лучший способ.
Есть несколько особенностей, связанных с моим процессом, мои данные сами по себе сложны, но для поиска я конвертирую данные в хэш-код и проверяю на это, поэтому все мои данные являются целыми (положительными/отрицательными) и обслуживанием запросы клиентов выполняются с помощью runnable, поэтому, если есть что-то, что я могу сделать, чтобы сделать данные более эффективными, я могу это сделать (я думал, так как все его Целые, возможно, сортируют его так часто, чтобы сделать петли быстрее?). Является ли целое число [] достаточно хорошим или есть что-то лучше?
Надеюсь, что это не поражает более чем 2 147 483 647 предметов. Тогда у вас будет большая проблема, чем какой тип списка выбрать. – Jeffrey
@Jeffrey Я буду держать пальцы скрещенными, это не так :-) – Lostsoul
Возможно, вы должны использовать набор вместо списка, чтобы избежать дублирования. – Hassan