Создайте Map , повторяя List [закрыто]JAVA

Программисты JAVA общаются здесь
Anonymous
Создайте Map , повторяя List [закрыто]

Сообщение Anonymous »

У меня есть список заказов, который я получаю из какого-то стороннего API.

Код: Выделить всё

List orders = fromApi(orderId);
Вот класс Order:

Код: Выделить всё

class Order{
Long orderId;
Product product
}
Аналогично я доставляю товары и для этих заказов. Здесь ключом является orderId.

Код: Выделить всё

List orderIds = orders.stream().map(Order::orderId).collect(Collectors.toList());
Map userProductMap = fromAnotherApi(orderIds);
Вот класс продукта:

Код: Выделить всё

class Product{
String productDesc;
}
Я хочу извлечь карту с ключом orderId и значением Order (указанным ниже), но при этом также хочу обновить заказы с помощью продукта (из userProductMap) в той же итерации потока.

Код: Выделить всё

 Map userOrderMap = orders.stream().collect(Collectors.toMap(order -> order.id, Function.identity()));
Я хочу предоставить некоторую собственную реализацию вместо Function.identity(), чтобы, помещая здесь значение Order в Map, я извлекал продукт из userProductMap[/b] и обновите Порядок и используйте обновленный порядок на карте в качестве значения.

Подробнее здесь: https://stackoverflow.com/questions/787 ... stomobject

Вернуться в «JAVA»