How to convert List<Optional<Type>> into List<Type>

Nilesh Chauhan :

I have extracted values from a Map into a List but got a List<Optional<TXN_PMTxnHistory_rb>>, and I want to convert it into List<TXN_PMTxnHistory_rb>.

My code:

List<Optional<TXN_PMTxnHistory_rb>> listHistory_rb6 = 
    listHistory_rb5.values()
                   .stream()
                   .collect(Collectors.toList());

I'd like to obtain a List<TXN_PMTxnHistory_rb>.

Eran :

Filter out all the empty values and use map to obtain the non-empty values:

List<TXN_PMTxnHistory_rb> listHistory_rb6 = 
    listHistory_rb5.values()
                   .stream()
                   .filter(Optional::isPresent)
                   .map(Optional::get)
                   .collect(Collectors.toList());

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=140069&siteId=1