В данный момент я имею дело с большим количеством наборов данных с плавающей запятой / двойных данных, которые будут использоваться для расчета. У меня есть набор файлов для сравнения данных A с данными B, и я хотел бы вычислить евклидово подобие расстояния / косинуса. И.Е. Данные Точка 1 перебирает точки данных Б, чтобы найти ближайшего соседа.
Данные приведены в текстовом файле - никаких проблем с этим. Что было бы идеальным способом хранения / чтения информации?
Я должен был бы повторить Данные B для всех точек в Данные A. Данные должны быть сохранены как числа с плавающей запятой. Каждая точка данных может иметь измерения. Файл может содержать до 2 миллионов поплавков.
Должен ли я использовать:
- Постоянное чтение файла данных B и анализ строки (я чувствую, что это крайне неэффективно)
- Хранение данных в списке (массив с плавающей точкой)
- Использование ввода-вывода Memory-Map?
- HashMap (я относительно новичок в HashMap, они говорят, что позиции коллекции могут меняться со временем, если я просто перебираю без изменений, позиции изменятся?)