Java> Count Null / NA, 0, Пустые значения - PullRequest
0 голосов
/ 30 января 2020

Я смотрю на 2 JSON объектов. Структура выглядит следующим образом:

{
 "a": {},
 "b": [],
 "c": {},
 "d": {
   "eStuff": {},
   "fStuff": [],
   "gStuff": [],
   "hStuff": {}
 },
  "i": [],
  "j": {},
  "k": {}
}

Затем я беру JSON Объект d. Затем я преобразовал это в карту, чтобы сравнить два, которые отличаются, одинаковы и уникальны для обоих. Однако мне нужно взглянуть на значения, которые в eStfuff, fStuff, gStuff, hStuff, и найти их количество. Это вложенные данные JSON.

# of NA/Null Values
# of 0 Values
# of Blank Values

Я могу получить нулевой счет с приведенным ниже. Однако возникли проблемы с получением 0 и пустых значений.

Map <String, Object> leftFlatMap = FlatMapUtil.flatten(ballPositionalDataLegacyMap);
int nullCount = Comparision.countFrequencies (leftFlatMap, null);
int zeroCount = Comparision.countFrequencies (leftFlatMap, 0);

 public static int countFrequencies(Map <String, Object> list, Object searchValue) {

  int totalCount = 0;
  Collection <Object> values = list.values();
  for (Object v : values) {
     if  (v == searchValue){
     totalCount = totalCount + 1;
   }
  }
  return totalCount;
 }
}

Ответы [ 2 ]

1 голос
/ 31 января 2020

Это должно решить ваши нулевые и ценностные случаи, не очень понимаю, как вы будете тестировать «пустой». Попробуйте с этим кодом, пожалуйста.

    private static int countFrequencies(Map<String, Object> list, Object o) {
    int totalCount = 0;
    Collection<Object> values = list.values();
    for (Object v : values) {
        if (o == null) {
            if (v == null) totalCount++;
        } else {
            if (Objects.nonNull(v) && v.equals(o)) {
                totalCount++;
            }
        }
    }
    return totalCount;
}
0 голосов
/ 30 января 2020

Что если вы сделаете это?

   if  (v != null && v.equals(searchValue)){
     totalCount = totalCount + 1;
   }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...