У меня есть следующий код в Java 7:
List<Integer> idMappers= new ArrayList<>();
//getting information from a Map<String, List<String>>
List<String> ids= idDataStore.lookupId(id);
for (int i = 0; i < ids.size(); i++) {
//getting information from a Map<String, List<Integer>>
List<Integer> mappers= idDataStore.lookupMappers(ids.get(i));
if (mappers!= null) {
for (int j = 0; j < x.size(); j++) {
idMappers.add(mappers.get(j));
}
}
}
Я пытаюсь изменить это на Streams
List<Integer> idMappers= new ArrayList<>();
idDataStore.lookupIdMappings(id).forEach(id-> {
idDataStore.lookupSegments(id).forEach(mapper->{
idSegments.add(segment);
});
});
Моя проблема idDataStore.lookupSegments(id)
иногда может выдать ноль такмой поток ломается.Как я могу сделать нулевую проверку в Stream?