Я работаю над java-проектом, который позволит пользователям анализировать несколько файлов с потенциальными тысячами строк. Проанализированная информация будет храниться в разных объектах, которые затем будут добавлены в коллекцию.
Поскольку графический интерфейс не требует одновременной загрузки ВСЕХ этих объектов и хранения их в памяти, я ищу эффективный способ загрузки/выгрузки данных из файлов, чтобы данные загружались в коллекцию только тогда, когда пользователь их запрашивает. .
Я просто варианты оценки прямо сейчас. Я также подумал о случае, когда после загрузки подмножества данных в коллекцию и представления его в графическом интерфейсе лучший способ перезагрузить ранее наблюдаемые данные. Перезапустить синтаксический анализатор/заполнить коллекцию/заполнить графический интерфейс? или, возможно, найти способ сохранить коллекцию в памяти или сериализовать/десериализовать саму коллекцию?
Я знаю, что загрузка/выгрузка подмножеств данных может быть сложной, если выполняется какая-то фильтрация данных. Допустим, я фильтрую по идентификатору, поэтому мое новое подмножество будет содержать данные из двух предыдущих проанализированных подмножеств. Это не было бы проблемой, если бы я хранил основную копию всех данных в памяти.
Я читал, что google-коллекции хороши и эффективны при обработке больших объемов данных и предлагают методы, которые упрощают многие вещи, поэтому это может предложить альтернативу, позволяющую мне хранить коллекцию в памяти. Это просто общие разговоры. Вопрос о том, какую коллекцию использовать, — отдельная и сложная вещь.
Знаете ли вы, каковы общие рекомендации по этому типу задач? Я хотел бы услышать, что вы сделали с подобными сценариями.
При необходимости могу предоставить более подробную информацию.