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 variableset
Code : Sélectionner tout - Visualiser dans une fenêtre à part Map<UUID,String> fuelcardByVehicleIdne 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.
Code : Sélectionner tout - Visualiser dans une fenêtre à part List<VehicleDto> fuelCardVehicleDtoList
comment puis-je remplir ces deux variable avec mon expression lambda.
Voici ma fonction
merci de m'aiguiller si vous avez une idée
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; }
Partager