'How can I directly map data coming in array to my model class

I am working on one code and need help in mapping the data. I am getting Flight details in array which can hold max 4 flight details. From that array I have to take 3 details and create request payload which will used to call one service.

Flight Class .

Flight {
    int flightCode;
    String flightName;
    String flightNumber;
    ...
}

This flight class is in Transfer class main class. To take this flight details I have to do.

Flight [] flights = transfer.getFlight();

My Request payload class looks something like below, it has more attribute than I have added here.

TransferRequestCheck {
    int transferId;
    ...
    int flightCode1;
    String flightName1;
    String flightNumber1;

    int flightCode2;
    String flightName2;
    String flightNumber2;

    int flightCode3;
    String flightName3;
    String flightNumber3;

    int flightCode4;
    String flightName4;
    String flightNumber4;
    ...
}

I have to set all the data from array after in just one request class as attribute.

I have written something like.

Flight [] flights = transfer.getFlight();
for(int i=0;  i<flights.lenght; i++) {

    Flight flightDetail = flights[i];

    int flightCode = flightDetail.getFlightCode();
    String flightName = flightDetail.getFlightName();
    String flightNumber = flightDetail.getFlightNumber();

    if (i == 0) {

        request.setFlightCode1(flightCode);
        request.setFlightName1(flightName);
        request.setFlightNumber1(FlightNumber);

    } else if(i == 1) {

        request.setFlightCode2(flightCode);
        request.setFlightName2(flightName);
        request.setFlightNumber2(FlightNumber);

    } else if (i == 2) {

        request.setFlightCode3(flightCode);
        request.setFlightName3(flightName);
        request.setFlightNumber3(FlightNumber);

    } else if (i == 3) {

        request.setFlightCode4(flightCode);
        request.setFlightName4(flightName);
        request.setFlightNumber4(FlightNumber);

    }
}

I wanted to know is there any way I can do this dynamically or something using Java 8 or stream.

Thanks



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source