我有包含專案陣列的類 Stores。
public class Store extends NamedEntity{
String webAddress;
Item[] items;
public Store(String name, String webAddress, Set<Item> items) {
super(name);
this.webAddress = webAddress;
this.items = items.toArray(new Item[0]);
}
每個專案(專案類)都有不同的數量,我正在向商店添加專案。假設我有 20 件商品,我添加了 10 到 2 或 3 家不同的商店,我必須根據它們的數量在商店中對這些商品進行分類。
我會這樣排序:
List<Item> storedItemsSorted = storedItems.stream()
.sorted(Comparator.comparing(Item::getVolume))
.collect(Collectors.toList());
我不知道如何將專案放入這個串列 storedItemsSorted。
我試過這樣的事情,但它不起作用:
List <Item> storedItems = storeList
.stream()
.map(s->s.getItems())
.collect(Collectors.toList());
它說:
Required type: List <Item>
Provided:List <Item[]>
uj5u.com熱心網友回復:
也許您正在尋找flatMap而不是map. flatMap適用于串列流,并映射到專案流。
List <Item> storedItems = storeList
.stream()
.flatMap(s->Arrays.stream(s.getItems()))
.collect(Collectors.toList());
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/362168.html
上一篇:Java泛型型別擦除,編譯器輸出與OCP書所說的不同
下一篇:c中使用結構的復雜產品?
