в мобильную разработку c java идти поздно - нужен котлин или возможно дарт, на перспективу
(пока не понятно кто-кого - kotlin native или flutter (dart))
а почему бы и не хеш-таблицы?
по сути лабораторная намекает на создание индексов, это дополнительные списки на каждое поле,
пусть хеш-таблица будет с ключем по номеру автомобиля, хранит данные как горизонтальный список со всеми параметрами одного автомобиля,
индексные списки создаются по ней и всегда в отсортированном виде (сортировка по соотв. параметру), хранят номера машин,
тогда достаточно просто выбирать из хеш-таблицы по индексному списку чтобы получить нужную сортировку
индексы создаются по требованию и в дальнейшем просто поддерживаются в сортированном виде
а какая разница? как будто фреймворк использует какие то особенные синглтоны, я рассматриваю синглтон как набор методов сгруппированных для доступа к некоторой области данных и эти данные доступны во всем приложении по требованию
например, синглтон-кеш по файловым данным - при первом обращении кеширует, потом отдает из кеша, даже если будет пересоздан - потребитель потеряет только на времени повторного кеширования
Синглтон не так уж плох, особенно в андроиде. Просто синглтон не должен сохранять свое состояние.
Его надо рассматривать как набор методов для облегчения доступа к данным, сами данные хранятся где-то еще - в базе, в preferences... Тогда синглтон в любой момент может быть уничтожен и так же в любой момент по требованию создан - приложение этого не заметит.
Сергей, rxjava выглядит как очередная обертка над listener, с тем же проблемами подписки-отписки и доставки результата конкретному потребителю, который внезапно раз и пересоздался,
есть решение гораздо лучше,
запросы изменяют слой данных и EventBus для уведомлений об изменении в слое данных,
в этом случае связь между запрос-потребитель отсутствует даже на уровне WeakReference
Сергей, спасибо, т.е. как и раньше я правильно понял - rxjava на андроиде бесполезна поскольку не решает проблему с жизненным циклом, а библиотек которые отправляют запросы в фоне - сотни
1) убрать static у sendPOST, перенести его в отдельный класс, создавать экземпляр
2) если же продолжать извращения то завести синглтон и хранить ответ в нем (что вобщем-то то же создание экземпляра отдельного класса)
в идентификаторе поля класса все буквы большие,
и не надо сразу ограничиваться конкретной реализацией списка,
в идеале это должно выглядеть так: List li = new ArrayList<>();