Sort a List Alphabetically in Java
-
Sort a
List
Using theCollections.sort()
Method in Java -
Sort a
List
Using thelist.stream().sorted()
Method in Java 8 -
Sort a
List
Using the Guava Library in Java -
Sort a
List
Using theComparator.naturalOrder()
in Java -
Sort a
List
Using theString
Class in Java

This tutorial introduces how to sort a list of elements alphabetically in Java.
List
is a linear data type used to store elements of a similar type in Java. In Java, List
is an interface, and ArrayList
is its implementation class.
We can use several ways to sort a List
: Collections
class, String
class, Google Guava library, etc. Let’s understand with some examples.
Sort a List
Using the Collections.sort()
Method in Java
The Collections
is a class in the java.util
package that provides several methods to collect data. It provides one sort()
method to sort the list elements.
Here, we used this method to sort the list alphabetically. See the example below.
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class SimpleTesting{
public static void main(String[] args){
List<String> list = new ArrayList<>();
list.add("India");
list.add("US");
list.add("China");
list.add("Russia");
list.add("Australia");
System.out.println(list);
Collections.sort(list);
System.out.println("-----------Sorted List------------");
System.out.println(list);
}
}
Output:
[India, US, China, Russia, Australia]
-----------Sorted List------------
[Australia, China, India, Russia, US]
The sort()
method has one overloaded version that takes one extra argument to sort elements in case-insensitive order. See the example below where we used this method, and it works fine.
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class SimpleTesting{
public static void main(String[] args){
List<String> list = new ArrayList<>();
list.add("India");
list.add("US");
list.add("China");
list.add("Russia");
list.add("Australia");
System.out.println(list);
Collections.sort(list, String.CASE_INSENSITIVE_ORDER);
System.out.println("-----------Sorted List------------");
System.out.println(list);
}
}
Output:
[India, US, China, Russia, Australia]
-----------Sorted List------------
[Australia, China, India, Russia, US]
Sort a List
Using the list.stream().sorted()
Method in Java 8
Use the code example below if you’re working with Java 8 or higher. Here, we used the stream API to sort the elements.
See the example below.
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
public class SimpleTesting{
public static void main(String[] args){
List<String> list = new ArrayList<>();
list.add("India");
list.add("US");
list.add("China");
list.add("Russia");
list.add("Australia");
System.out.println(list);
list = list.stream().sorted().collect(Collectors.toList());
System.out.println("-----------Sorted List------------");
System.out.println(list);
}
}
Output:
[India, US, China, Russia, Australia]
-----------Sorted List------------
[Australia, China, India, Russia, US]
Sort a List
Using the Guava Library in Java
Apart from the java.util
package, we can use the guava library to sort the list elements. Google provides this guava library to work on collections of data.
We used the Ordering
class and its natural()
method to get the elements in natural sorted order. See the example below.
import java.util.ArrayList;
import java.util.List;
import com.google.common.collect.Ordering;
public class SimpleTesting{
public static void main(String[] args){
List<String> list = new ArrayList<>();
list.add("India");
list.add("US");
list.add("China");
list.add("Russia");
list.add("Australia");
System.out.println(list);
list = Ordering.natural().sortedCopy(list);
System.out.println("-----------Sorted List------------");
System.out.println(list);
}
}
Output:
[India, US,China, Russia, Australia]
-----------Sorted List------------
[Australia, China, India, Russia, US]
Sort a List
Using the Comparator.naturalOrder()
in Java
In this example, we used Comparator
to get the list in a natural order. We passed the naturalOrder()
method to the list.sort()
method.
See the example below.
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
public class SimpleTesting{
public static void main(String[] args){
List<String> list = new ArrayList<>();
list.add("India");
list.add("US");
list.add("China");
list.add("Russia");
list.add("Australia");
System.out.println(list);
list.sort(Comparator.naturalOrder());
System.out.println("-----------Sorted List------------");
System.out.println(list);
}
}
Output:
[India, US, China, Russia, Australia]
-----------Sorted List------------
[Australia, China, India, Russia, US]
Sort a List
Using the String
Class in Java
If you want to ignore the string case while sorting list elements, use the compareToIgnoreCase()
and the method.sort()
method. We used the String
class and method reference to get the sorted list elements.
See the example below.
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
public class SimpleTesting{
public static void main(String[] args){
List<String> list = new ArrayList<>();
list.add("India");
list.add("US");
list.add("China");
list.add("Russia");
list.add("Australia");
System.out.println(list);
list.sort(String::compareToIgnoreCase);
System.out.println("-----------Sorted List------------");
System.out.println(list);
}
}
Output:
[India, US, China, Russia, Australia]
-----------Sorted List------------
[Australia, China, India, Russia, US]
Related Article - Java List
- Split a List Into Chunks in Java
- Get First Element From List in Java
- Find the Index of an Element in a List Using Java
- Filter List in Java
- Differences Between List and Arraylist in Java
- List vs. Array in Java