Получение пустых фигурных скобок в списке после выполнения java потокового фильтра - PullRequest
0 голосов
/ 19 апреля 2020

Этот поток java по какой-то причине дает список с пустыми значениями {} (см. Изображение). Почему я получаю это, когда я фильтрую. Как удалить две записи из списка? Код:

List<Map<String, Object>> seqList = apList.stream()
    .map(m -> m.entrySet().stream()
        .filter(k -> k.getKey().equals(ATTR_SEQ_NO))
        .filter(v -> String.valueOf(v.getValue()).equals(seqNumber))
        .collect(Collectors.toMap(Map.Entry::getKey, 
                  Map.Entry::getValue)))
    .collect(Collectors.toList());

Вывод списка

1 Ответ

1 голос
/ 19 апреля 2020

Добавить фильтр, чтобы проверить, не является ли карта пустой:

List<Map<String, Object>> seqList = apList.stream()
    .map(m -> m.entrySet().stream()
        .filter(k -> k.getKey().equals(ATTR_SEQ_NO))
        .filter(v -> String.valueOf(v.getValue()).equals(seqNumber))
        .collect(Collectors.toMap(Map.Entry::getKey, 
                  Map.Entry::getValue)))
    .filter(m -> !m.isEmpty())
    .collect(Collectors.toList());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...