How do I sort strings using Collator class?

In this example we demonstrate how to use the java.text.Collator class to sort strings in language-specific order. Using the java.text.Collator class makes the string not just sorted by the ASCII code of their characters but it will follow the language natural order of the characters.

package org.kodejava.example.text;

import java.util.List;
import java.util.ArrayList;
import java.util.Locale;
import java.util.Collections;
import java.text.Collator;

public class StringShortWithCollator {
    public static void main(String[] args) {
        List fruits = new ArrayList();
        fruits.add("Guava");
        fruits.add("Banana");
        fruits.add("Orange");
        fruits.add("Mango");
        fruits.add("Apple");

        //
        // Define a collator for US English.
        //
        Collator collator = Collator.getInstance(Locale.US);
        
        //
        // Sort the list base on the collator
        //
        Collections.sort(fruits, collator);

        for (int i = 0; i < fruits.size(); i++) {
            String fruit = fruits.get(i);

            System.out.println("Fruit = " + fruit);
        }
    }
}

Wayan Saryada

Programmer, runner, recreational diver, live in the island of Bali, Indonesia. Mostly programming in Java, creating web based application with Spring Framework, Hibernate / JPA.

Leave a Reply