Я получаю свои данные из Firestore и сохраняю их в строку Map, объект.
Данные выглядят так:
[auto-generated key]
fieldname: value
fieldname: value
...
Может быть любое количество полей, они могут быть названы в любом месте и хранить номера / текст / метки времени.
Я получаю их на карту, как это:
Map<String, Object> myMap = new HashMap<>();
for (QueryDocumentSnapshot document : task.getResult()) {
myMap.put(document.getId(), document.getData());
}
Что я хочу сделать :
У меня есть класс для данных, я хочу сохранить их в списке, с этим типом.
public class DemoData {
public String autoId;
public List<String> fieldNames;
public List<Object> values;
public DemoData() {}
}
Итак, вот код, который у меня сейчас есть :
Я могу получить список ключей и список пар имя-значение-значение.
List<String> k = new ArrayList<>();
List<Object> v = new ArrayList<>();
for (Map.Entry<String, Object> entry : map.entrySet()) {
k.add(entry.getKey());
v.add(entry.getValue());
}
(похоже):
Как я могу перейти в список "v", к каждой паре каждого поля имя-значение и сохранить их в два отдельных списка. (а затем формировать из них объект DemoData).
Итак, объект DemoData будет выглядеть так:
autoId: "YbWQh..."
fieldNames: ["default", "entity_name", "Datum", "fav"...]
values: [false,"Fontos datumok", Timestamp..., false...]