I want to sort the map based on values ββin alphabetical order and ignore case sensitivity and return a list of keys.
private List<String> sortCostPlanDetailRows( SortingOrder sortingOrder_ )
{
return _allCostPlanDetailRows
.entrySet()
.stream()
.sorted( sortingOrder_ == SortingOrder.DESC ? Map.Entry.<String, String>comparingByValue(Comparator.nullsFirst(Comparator.naturalOrder())).reversed() : Map.Entry.comparingByValue(Comparator.nullsFirst(
Comparator.naturalOrder())) )
.map( Map.Entry::getKey )
.collect( Collectors.toList() );
}
How can i achieve this?
Note: Suggestions are welcome if I can improve the code above.
source
share