Трудно протестировать ваш код без реальных классов, но в вашем первом потоке много шума.
Ниже приведен исходный код с добавленными комментариями, который, мы надеемся, уберет часть добавленного вами дополнительного шума.
return skuListEntityList.stream()
.filter(x -> x.getStatusTypDbky().getTypDbkey().equals(SkuListStatus.ACTIVE.getId()))
.map(x -> x.getSkuListLineItems())
.flatMap(x -> x.stream()
.filter(s -> s.getStatusTypDbky().getTypDbkey().equals(SkuListLineItemStatus.ACTIVE.getId())))
.map(x -> x.getSkuListEntity())//remove and simply operate on x below
.collect(Collectors.toList())//This is not needed as you're already working with a stream
.stream()//This is not needed as you're already working with a stream
.map(x -> skuListMapper.toSkuListResource(x/*x.getSkuListEntity() remove map above*/)).collect(Collectors.toList());
Ваш ответ должен выглядеть примерно так. Хотя без выделенных классов я не могу гарантировать, что ваша логика работает так, как вы намереваетесь.
return skuListEntityList.stream()
.filter(x -> x.getStatusTypDbky().getTypDbkey().equals(SkuListStatus.ACTIVE.getId()))
.flatMap(x -> x.getSkuListLineItems().stream())
.filter(s -> s.getStatusTypDbky().getTypDbkey().equals(SkuListLineItemStatus.ACTIVE.getId()))
.map(x -> skuListMapper.toSkuListResource(x.getSkuListEntity()))
.collect(Collectors.toList());
Я бы предложил прочитать https://www.baeldung.com/java-difference-map-and-flatmap и https://docs.oracle.com/javase/8/docs/api/java/util/stream/package-summary.html Чтобы точно понятьчто вы делаете в каждой промежуточной операции.
Если вы не совсем понимаете, что именно происходит, удалите цепочку методов и используйте отладчик, чтобы увидеть фактическое возвращаемое значение из вызовов.
т.е. 1019 *
Stream<SkuListEntity> skuListEntityStream = skuListEntityList.stream();
Stream<SkuListEntity> filteredSkuListEntityStream = skuListEntityStream.filter();
...