您想要的是
Comparator#comparing:
userMap.values().stream() .sorted(Comparator.comparing(User::getName, UserNameComparator.INSTANCE)) .collect(Collectors.toList());
对于问题的第二部分,您只需使用
Comparator.comparing( u->u.getProfile().getUsername(), UserNameComparator.INSTANCE)



