排序后的流更改图

问题描述 投票:0回答:2

我是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; }

相同方式的设置器。

java java-8 stream
2个回答
0
投票

删除地图。映射更改流中的对象。更新排序的语句


0
投票

您可以在Comparator.comparing中使用lambda表达式

© www.soinside.com 2019 - 2024. All rights reserved.