3D HashMap Java получить записи - PullRequest
0 голосов
/ 12 мая 2018

В настоящее время я пытаюсь создать собственный эластичный поиск (с меньшими возможностями и опытом) для фильтрации базы данных Firebase, я не использую эластичный поиск и Алголию, потому что хочу сделать все сам.

Прямо сейчас я пришел к этому методу:

1) получить все ключевые слова из моих дочерних узлов в firebase 2) добавить их в 3D HashMap

На данный момент он упорядочивает мои данные так, как яwant:

Map<String, Map<String, Map<String, String>>> map = new HashMap<>();

Пример: "Restaurants" { "Some restaurant Name" { "keywords": "Some,keywords,here" }

Все, что я хочу сейчас сделать, - это напечатать все значения, чтобы получить дальнейшее развитие в моем коде.

Вот как я пытаюсь напечатать:

for (Map.Entry<String, Map<String, Map<String, String>>> entry : map.entrySet()) {
                    Log.w("MAP =====> ", entry.getKey() + ": " + entry.getValue());
                    for (Map.Entry<String, Map<String, String>> entry1 : map.get(entry.getKey()).entrySet()) {
                        Log.w("MAP2 =====> ", entry1.getKey() + ": " + entry1.getValue());
                        for (Map.Entry<String, String> entry2 : map.get(entry.getKey()).get(entry1.getKey()).entrySet()) {
                            Log.w("MAP3 =====> ", entry2.getKey() + ": " + entry2.getValue());
                        }
                    }
                }

Кажется, я не могу идти дальше, чем первый цикл for ...

Вот мой журнал:

W/MAP =====>: Restaurants: {} 
W/MAP =====>: Hikes: {}
W/MAP =====>: Sports: {}

Как видите, журналы для "MAP2" и "MAP3" не отображаются. Как я могу выполнить итерацию через все?

Заранее спасибо, Добрый день / вечер / ночь!

PS .: Я знаю, что существуют запросы к базе данных, не хочу использовать .startAt() или .endAt() и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...