我是Java流的新手,我只想对对象的键进行排序。
所以,我尝试这样的方法,它可以工作
List<FooSelect> li= Arrays.stream(obj.getFoos().getFoo()) //Stream<Foo>
.map(Foo::getSelect) //Stream<FooSelect>
.sorted(Comparator.comparing(FooSelect::getFoosKey)) //Stream<FooSelect>
.collect(Collectors.toList());
这将根据我想要的进行排序。
But the result I get is in List<FooSelect> object, though i want it in List<Foo>.
排序后如何更改映射。
我想再次更改响应//排序后的流。
I want something like
List<Foo> li = same result of code above;
Class : FooSelect
just has some String fields
string FooKey
string FooTKey
以及为此的getter和setter(其中一个是我正在排序的getFoosKey)
Class: Foo
private FooSelect select
private FooInsert insert
Foo(select, insert)
public FooSelect getSelect() {
return select; }
相同方式的设置器。
删除地图。映射更改流中的对象。更新排序的语句
您可以在Comparator.comparing
中使用lambda表达式