Pro seřazení seznamu se v Javě používá třída java.util.Collections
a její metoda sort()
. Tato metoda je přetížená a má možnost jako paramer mít objekt implementující Comparator, což je rozhraní s metodou compare(objekt_1, objekt_2)
. Jako Comparator lze tedy použít i instanci třídy Collator, která rozhraní Comparator implementuje. Výhodou Collatoru je to, že umožňuje řetězce porovnávat dle locale. Pokud budeme chtít správně porovnávat a řadit řetězce s českou diakritikou, je třeba použít Collator a české locale.
import java.text.Collator; import java.util.Arrays; import java.util.Collections; import java.util.List; import java.util.Locale; public class AppStringCompare { public static void main(String[] args) { List<String> list = Arrays.asList("zelí", "mrkev", "česnek", "petržel", "řepa"); Collator collator = Collator.getInstance(new Locale("cs", "CZ")); Collections.sort(list, collator); System.out.println(Arrays.toString(list.toArray())); } }
Výsledek
[česnek, mrkev, petržel, řepa, zelí]