我有一个List counties仅包含唯一县名的,List txcArray其中包含该城市的城市名称,县名和人口.
我需要txcArray使用带有lambda表达式和Streams的Java 8 来获取每个县的最大城市名称.
这是我到目前为止的代码:
List<String> largest_city_name =
counties.stream()
.map(a -> txcArray.stream()
.filter(b -> b.getCounty().equals(a))
.mapToInt(c -> c.getPopulation())
.max())
.collect( Collectors.toList());
Run Code Online (Sandbox Code Playgroud)
我试图在之后添加另一个.map语句.max()来获取City具有最大填充的名称,但是我的新lambda表达式不存在于txcArray流中,它只将其识别为int类型和texasCitiesClass类型.这是我想要做的.
List<String> largest_city_name =
counties.stream()
.map(a -> txcArray.stream()
.filter( b -> b.getCounty().equals(a))
.mapToInt(c->c.getPopulation())
.max()
.map(d->d.getName()))
.collect( Collectors.toList());
Run Code Online (Sandbox Code Playgroud)
有人能告诉我我做错了什么吗?
我有两个列表流,一个是字符串(县),另一个是对象(txcArray).我需要遍历两个列表并将一个县的实例与txcArray的实例进行比较,并且它们匹配递增一个计数器,如果它们没有,我会继续前进.我需要使用java 8 lambda表达式这样做,这是我到目前为止所做的.
counties.stream().forEach(a-> {
txcArray.stream()
.filter(b->b.getCounty().equals(a))
.map(Map<String,Integer>)
});
Run Code Online (Sandbox Code Playgroud)