如何使用java 8流对对象进行排序

E. *_*oux 3 java java-stream

我在java 8中使用流API来处理我的集合.但是,我想知道使用此API以给定顺序对对象进行排序的优雅方法.

SortedCollection = inputCollection.stream()
    .map(e -> {
        return new Element(e.id, e.color);
    }).collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)

在这里,我想使用id属性对已映射的元素进行排序.

任何的想法 ?谢谢 !

Jac*_* G. 10

只需使用Stream#sorted以下ElementID和getter方法的名称作为ID.

inputCollection.stream()
               .map(e -> new Element(e.id, e.color))
               .sorted(Comparator.comparing(Element::getId))
               .collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)