Bonjour je veux remplir une Map à partir d'une liste déjà rempli ainsi qu'une autre liste
mais en lisant quelque tuto je me rend compte que mes variables
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Map<UUID,String> fuelcardByVehicleId
et
Code : Sélectionner tout - Visualiser dans une fenêtre à part
List<VehicleDto> fuelCardVehicleDtoList
ne sont pas visible depuis mon expression lamdda à moins que je les déclare en final ce qui n'est pas possible car je dois les remplir.
comment puis-je remplir ces deux variable avec mon expression lambda.
Voici ma fonction
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
public List<VehicleDto> getVehicles(boolean isCard) {
    List<Vehicle> vehicles = getVehicle();
    List<VehicleDto> vehicleDtoList = getVehicleDto();
    if(isCard) {
        //liste bien remplie
        List<FuelCard> fuelCards = getFuelCard();
 
 
        Map<UUID,String> fuelcardByVehicleId = new HashMap<>();
        fuelCards.stream().forEach(x ->{
            if(! fuelcardByVehicleId.containsKey(x.getVehicle().getId())){
                fuelcardByVehicleId.put(x.getVehicle().getId(),x.getPinCode());
            }
        });
 
        List<VehicleDto> fuelCardVehicleDtoList = new ArrayList<>();
                vehicleDtoList.stream().forEach(v ->{
                    VehicleDto vdto = v;
                    if(fuelcardByVehicleId.containsKey(v.getId())){
                        vdto.setFuelCardPinCode(fuelcardByVehicleId.get(v.getId()));
                    }
                    fuelCardVehicleDtoList.add(vdto);
                });
 
                return fuelCardVehicleDtoList;
 
    }
    return vehicleDtoList;
}
merci de m'aiguiller si vous avez une idée