Ich habe Array-Liste mit Kleidung Größen in dieser Reihenfolge: "L", "M", "XL", "XS", "S", "XXL" und ich muss nach rechts setzen Reihenfolge wie folgt: "XS", "S", "M", "L", "XL", "XXL".Array-Liste mit benutzerdefinierten Eigenschaften
Collections.sort(arrayList);
wird die Arbeit tun, wenn ich mit diesem Beispiel habe Array: "38", "36", "34", "40", aber nicht mit dem oben genannten. Also habe ich mich entschieden, dies mit for-Schleife zu tun und Elemente innerhalb der Array-Liste zu tauschen und sie an die richtige Stelle zu setzen, aber da die Größe der Array-Liste dynamisch geändert wird, kann ich nicht sicher wissen, welche Position ich zuweisen soll.
Ich bin mir ziemlich sicher, dass dies vielleicht nicht der richtige Weg ist, aber ich bin offen für Vorschläge, wie das gelöst werden kann.
Hier ist ein Teil des Codes:
// Sample clothing sizes
List<String> availableSizes = new ArrayList<>(tempSizes);
// Sorting array, only works for "34", "38", "36" and etc
Collections.sort(availableSizes);
if (availableSizes.size() > 0) {
for (int i = 0; i < availableSizes.size(); i++) {
if (availableSizes.get(i).equals("XS")) {
Collections.swap(availableSizes, i, 0);
} else if (availableSizes.get(i).equals("S")) {
Collections.swap(availableSizes, i, 1);
} else if (availableSizes.get(i).equals("M")) {
Collections.swap(availableSizes, i, 2);
} else if (availableSizes.get(i).equals("L")) {
Collections.swap(availableSizes, i, 3);
} else if (availableSizes.get(i).equals("XL")) {
Collections.swap(availableSizes, i, 4);
} else if (availableSizes.get(i).equals("XXL")) {
Collections.swap(availableSizes, i, 5);
}
}
}
Offensichtlich werde ich eine Fehlermeldung erhalten, wenn Array-Größe von weniger als fünf.
gibt es einen Vorschlag, den Sie eine Liste der Pojo sagen Liste in Größe zwei-Mitglied setzen erstellen sizeInCms, sizeInLetters, jetzt können Sie es leicht mit sizeinCms sortieren, da es eine Ganzzahl ist und Ihre li st sortierte –
Aber ich bekomme nicht sowohl sizesInCm und sizesInLetters. Entweder wird in cms oder in Briefen sein. –
Eine wartungsfreundlichere Lösung könnte darin bestehen, eine Enumeration zu erstellen, in der die Größen und ihr "Wert" gespeichert werden - eine Zahl, die ohne einen benutzerdefinierten Vergleicher sortiert werden kann. – MTCoster