Sortowanie String'ów

Sortowanie String'ów
marta1995
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 155
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 :)

Wibowit
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: XML Hills
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).
bogdans
  • Rejestracja: dni
  • Ostatnio: dni
0

Standardowe sortowanie nie jest alfabetyczne (jest leksykograficzne).

Kopiuj
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")));
marta1995
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 155
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?

bogdans
  • Rejestracja: dni
  • Ostatnio: dni
1

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

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.