Создать вложенную карту с новыми типами объектов из разделенной строки - PullRequest
0 голосов
/ 20 октября 2019

У меня есть этот поток

jedis.lrange("users", 0, -1).stream()
  .map(user -> user.split(":"))
  .collect(Collectors.groupingBy(
     user -> user[0], 
     Collectors.toMap(a -> a[1], a2 -> a2[2])
  ));

, который возвращает Map<String, Map<String, String>>, но я хочу получить Map<UUID, Map<String, Long>> Индекс 0 должен быть преобразован в UUID, 1 в строку, 2 в длинный. Как я могу это сделать?

1 Ответ

3 голосов
/ 20 октября 2019

Рассматривали ли вы попытку анализа строк, которые вы хотите преобразовать? Что-то в строках следующего:

Map<UUID, Map<String, Long>> groupedNestedMap = jedis.lrange("users", 0, -1)
        .stream()
        .map(user -> user.split(":"))
        .collect(Collectors.groupingBy(user -> UUID.fromString(user[0]), 
                Collectors.toMap(a -> a[1], a2 -> Long.parseLong(a2[2]))));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...