Sortowanie String'ów

0

Witam

Mam w notatniku kilka stringów

Szła
Dzieweczka
Do
Zielonego
Laseczka
Napotkała
Myśliweczka

Teraz chciałabym wyświetlać te Stringi (np w jakieś kontrolce - nie ważne) w zapodanej kolejności np:

Do
Zielonego

chciałabym mieć na 2 pierwszych pozycjach

Laseczka
Zielonego

Na dwóch ostatnich

pozostałe w kolejności alfabetycznej pomiędzy ustalonymi pierwszymi i ustalonymi końcowymi Stringami.

Jak napisać kod i zorganizować plik (jeśli trzeba) abym w miarę elastycznie mogła to definiować.
Ustalam, że ten i ten na początku, ten i ten na końcu, pozostałe np. nie istotne. Innym razem definiuje kolejność inaczej.
Ustalanie kolejności nie musi być z poziomu GUI(użytkownika). Dzieje się to z poziomu kodu, czyli pliku z logią, lub notatniku - tak aby było optymalnie.

Możecie coś zasugerować? byłabym wdzięczna :)
Chodzi mi o rozwiązanie nie koniecznie proste, ale eleganckie i nie "brużdżące" niepotrzebnie w kodzie :)

0
  1. Do pomocniczej ArrayList wrzucasz tylko te elementy które mają być posortowane.
  2. Sortujesz pomocniczą listę standardową metodą.
  3. Do głównej listy wstawiasz ustalone stringi + posortowane stringi (jest metoda addAll w ArrayLiście).
0

Standardowe sortowanie nie jest alfabetyczne (jest leksykograficzne).

Collections.sort(listaDoPosortowania,Collator.getInstance(Locale.getDefault()));
//albo jeśli program będzie uruchamiany np. w Zimbabwe
Collections.sort(listaDoPosortowania,Collator.getInstance(new Locale("PL")));
0

szczerze, to nie mam pojęcia jak mają się powyższe rozwiązania do mojego problemu...?
Gdzie tu ustalam priorytet z jakim ją być traktowane wybrane stringi? gdzie ustalam, które stringi mają być na samym końcu?

1

Tworzysz trzy listy: "głowa", "ogon" i część środkowa do posortowania. Sortujesz część środkową i sklejasz.

1 użytkowników online, w tym zalogowanych: 0, gości: 1