如何从forEach返回值

时间:2016-07-20 11:57:02

标签: java

在这种方法中,我不需要打印这个值。我需要归还他们

public void showStoreProductQuantity(){

        productListQuantity.entrySet().stream().forEach((Map.Entry<Product, Integer> entry) -> {
        Product product = (Product) entry.getKey();
        System.out.print(product);
        Integer quantity = entry.getValue();
        System.out.println(" Quantity is:"+quantity);
        });

}

我该怎么做?

1 个答案:

答案 0 :(得分:0)

我不太确定你到底需要什么,但是如果你必须将地图的值收集到List,那么你必须.map()那些和.collect()他们使用适当的Collector

return productListQuantity.entrySet().stream()
                          .map(Map.Entry::getValue)
                          .collect(Collectors.toList());

当然,您应该将方法签名更改为:

public List<MapValueType> showStoreProductQuantity() { }

其中MapValueTypeproductListQuantity Map中值的类型。