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