RS
С Collections.reverse() немного поигрался, но он же меняет источник.
new ArrayList<>(list) перед реверсом? :)Size: a a a
RS
new ArrayList<>(list) перед реверсом? :)C
new ArrayList<>(list) перед реверсом? :)RS
C
HH
public List<String[]> foo() {
    return Optional.ofNullable(getListAsObjectFromSomewhere())
            .map(listObject -> (List<String[]>)listObject)
            .map(list -> list.stream().peek(arr -> Arrays.sort(arr, Collections.reverseOrder())).collect(Collectors.toList()))
            .orElse(Collections.<String[]>emptyList());
}AM
public List<String[]> foo() {
    return Optional.ofNullable(getListAsObjectFromSomewhere())
        .map(listObject -> (List<String[]>)listObject)
        .map(list -> list.stream().sorted(Comparator.reverseOrder()).collect(Collectors.toList()))
        .orElse(Collections.<String[]>emptyList());
}
Не компилится. На строке с компаратором: incompatible types: inferred type does not conform to upper bound(s);    inferred: java.lang.String[];    upper bound(s): java.lang.Comparable<? super java.lang.String[]>C
ДД
AM
ДД
AM
ДД
AM
ДД

AM
AY
ДД
ДД

ДД
AM