按不同的Stream API排序

时间:2018-07-10 09:22:00

标签: spring spring-mvc spring-boot

我有一个JourneyType以下班级

public class JourneyType {

    private String hostId;

}

和方法

public void getHotsId(List<JourneyType> journeyTypeList) {      
    journeyTypeList.stream().map(p -> p.getHostId()).distinct().sorted().collect(Collectors.toList());      
}

我已经进行过流过滤的类。所以我想按hostId排序。我被困住了,有什么帮助吗?

1 个答案:

答案 0 :(得分:1)

要通过JourneyType方法结果对getHostId()的流进行排序,您可以提供自己的Comparator

List<JourneyType> res = journeyTypeList.stream()
  .sorted(Comparator.comparing(JourneyType::getHostId))
  .collect(Collectors.toList());   

如果您的目的只是对原始集合进行排序,那么使用Collections类会更容易:

Collections.sort(journeyTypeList, Comparator.comparing(JourneyType::getHostId));