#302 Переиспользование одного DTO в Stream API

Компании:
Infinite Synergy
Темы:
JavaStream API и LambdaКод ревью

Необходимо найти логическую ошибку в коде (код собирается и работает, но неправильно):

public class InstrumentListingMapperDto {

    private long orgId;
    private String instrumentId;
    private String remarkId;

    public InstrumentListingMapperDto() {
    }

    public InstrumentListingMapperDto setOrgId(long orgId) {
        this.orgId = orgId;
        return this;
    }

    public InstrumentListingMapperDto setInstrumentId(String orgId) {
        this.instrumentId = orgId;
        return this;
    }

    public InstrumentListingMapperDto setRemarkId(String remarkId) {
        this.remarkId = remarkId;
        return this;
    }
}

// ...

public List<InstrumentListingMapperDto> mapOrgIdToInstrumentAndRemarkIds() {
    List<Long> orgIds = List.of(1L, 2L, 3L);
    Map<Long, String> instrumentsMap = Map.of(1L, "instId1", 2L, "instId2", 3L, "instId3");
    Map<Long, String> remarkIdMap = Map.of(1L, "remId1", 2L, "remId2", 3L, "remId3");

    var instrumentListingMapperDto = new InstrumentListingMapperDto();

    return orgIds.stream()
        .map(id -> instrumentListingMapperDto
            .setOrgId(id)
            .setInstrumentId(instrumentsMap.get(id))
            .setRemarkId(remarkIdMap.get(id)))
        .toList();
}

Разбор вопроса

Ментор
Ответь как на реальном собеседовании. Я задам уточняющие вопросы, а затем сравню твой ответ с эталонным и покажу точность в %.
Войди, чтобы начать диалог Ментор ведёт диалог по текущему вопросу и учитывает предыдущие сообщения.
Войти