我正在嘗試將我們的傳統循環轉換爲流的框架。我的問題是我寫了兩個獨立的邏輯來獲得價格和顏色,但我想合併這兩個在一起,這將是像樣形成地圖問題的Java流
代碼來獲取價值
List<Double> productPrices = product.getUpcs()
.stream()
.map(e -> e.getUpcDetails().getPrice().getRetail().getPriceValue())
.distinct()
.sorted(Comparator.reverseOrder())
.collect(Collectors.toList());
代碼來獲得下價格的顏色
product.getUpcs()
.stream()
.filter(e -> e.getUpcDetails().getPrice().getRetail().getPriceValue() == 74.5)
.flatMap(e -> e.getUpcDetails().getAttributes().stream())
.filter(e2 -> e2.getName().contentEquals("COLOR"))
.forEach(e3 -> System.out.println(e3.getValues().get(0).get("value")));
我harcoded價格在上面的部分,以獲得顏色,相反,我想獲得,作爲從價格值列表輸入和在
01得到的輸出我試圖合併這兩個都沒有成功,任何幫助將appriciated。
看起來像某種'groupingBy',你需要......因爲你需要一個'Map'作爲結果 – Eugene
作爲一個附註,*從不*使用'double'來表示貨幣價值。你會在網上找到大量關於它的文章...... – Holger