From 8ba0eccfbd71bd723d18c9deb3d969c4a4255859 Mon Sep 17 00:00:00 2001 From: Robin Cheney Date: Sun, 16 Nov 2025 09:55:05 +0100 Subject: [PATCH] Added sorting mechanic in FuelStation --- .../tankstelle/FuelStation.java | 38 ++++++++++++++++--- 1 file changed, 33 insertions(+), 5 deletions(-) diff --git a/src/main/java/de/diejungsvondertanke/tankstelle/FuelStation.java b/src/main/java/de/diejungsvondertanke/tankstelle/FuelStation.java index 8de2dd6..3702c6e 100644 --- a/src/main/java/de/diejungsvondertanke/tankstelle/FuelStation.java +++ b/src/main/java/de/diejungsvondertanke/tankstelle/FuelStation.java @@ -1,5 +1,7 @@ package de.diejungsvondertanke.tankstelle; +import java.util.ArrayList; + import de.diejungsvondertanke.tankstelle.error.NoSuchFuelTypeError; /** @@ -148,11 +150,37 @@ abstract class FuelStation { } /** - * Set a new number of employees for this fuel station + * Sort the fuel stations by size in a descending order (largest stations first) * - * @param number_of_employees new number of employees for this fuel station + * @param stations Array of {@link FuelStation}s + * @return an ordered array of {@link FuelStation}s */ - public void setNumber_of_employees(byte number_of_employees) { - this.number_of_employees = number_of_employees; + public static FuelStation[] sort(FuelStation[] stations) { + ArrayList result = new ArrayList<>(); + ArrayList large = new ArrayList<>(); + ArrayList medium = new ArrayList<>(); + ArrayList small = new ArrayList<>(); + + for (FuelStation station : stations) { + switch (station.size) { + case SMALL: + small.add(station); + break; + case MEDIUM: + medium.add(station); + break; + case LARGE: + large.add(station); + break; + default: + System.out.println("Unknown FuelStation size for object: " + station.toString()); + break; + } + + } + result.addAll(large); + result.addAll(medium); + result.addAll(small); + return result.toArray(new FuelStation[0]); } -} +} \ No newline at end of file -- 2.43.0