How to sort an ArrayList in java

By default, the ArrayList’s elements are display according to the sequence it is put inside. Often times, you may need to sort the ArrayList to make it alphabetically order. In this example, it shows the use of Collections.sort(‘List’) to sort an ArrayList.


import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class SortArrayList{
	
	public static void main(String args[]){
		
		List<String> unsortList = new ArrayList<String>();
		
		unsortList.add("CCC");
		unsortList.add("111");
		unsortList.add("AAA");
		unsortList.add("BBB");
		unsortList.add("ccc");
		unsortList.add("bbb");
		unsortList.add("aaa");
		unsortList.add("333");
		unsortList.add("222");
		
		//before sort
		System.out.println("ArrayList is unsort");
		for(String temp: unsortList){
			System.out.println(temp);
		}
		
		//sort the list
		Collections.sort(unsortList);
		
		//after sorted
		System.out.println("ArrayList is sorted");
		for(String temp: unsortList){
			System.out.println(temp);
		}
	}
	
}

Output


ArrayList is unsort
CCC
111
AAA
BBB
ccc
bbb
aaa
333
222
ArrayList is sorted
111
222
333
AAA
BBB
CCC
aaa
bbb
ccc

Reference

  1. ASCII table list
  2. Collections.sort() documentation

About the Author

author image
mkyong
Founder of Mkyong.com, love Java and open source stuff. Follow him on Twitter, or befriend him on Facebook or Google Plus. If you like my tutorials, consider make a donation to these charities.

Comments

Leave a Reply

avatar
newest oldest most voted
infoj
Guest
infoj

One thing to note here is that sorting will be done in natural ordering and it happens because String class implements Comparable interface and provides implementation for the method compareTo(String anotherString) .. If there is a need to use any other order for sorting then we have to use custom comparator or there is also reverseOrder method.

See some of the ways to sort arraylist here – http://netjs.blogspot.com/2015/08/how-to-sort-arraylist-in-java.html

http://netjs.blogspot.com/2015/08/how-to-sort-arraylist-of-custom-objects-java.html

Sushil Kumar
Guest
Sushil Kumar

Can you please tell me which sorting algorithm is used by this function?

atul
Guest
atul

Its natural sorting according to ASCII

Balack 2015
Guest
Balack 2015

Hi,I am trying to make the program sort and display in ascending alphabetical order names and also person can search the name on the list.It is easy way to make this with binary file. Check the link please.What should I do to make that happen?
Thank you.http://pastebin.com/bnMHMRW9

papajo
Guest
papajo

Does it work on duplicates? I think not.

Kenneth
Guest
Kenneth

Works like a charm.. Without implementing the comparable interface… Thanks mate.

RickJames!
Guest
RickJames!

This made my day.

Bharat Patidar
Guest
Bharat Patidar

Man you are awesome, I love you.

Niroshan
Guest
Niroshan

Thanks for the post.

How can I validate whether the unsorted ArrayList and sorted list are matching with each other?

Learner
Guest
Learner

Your tutorials are the best.Simple and straight to the point.Nice job.

Talib Hassan
Guest
Talib Hassan
leandro
Guest
leandro

Muchas Gracias!

jonny
Guest
jonny

hey can u tell me how to sort an array list alphabetically using the bubble sort

thanks

trackback
xml parsing in ascending order : Android Community - For Application Development

[…] can refer this link to sort the data with in […]

Diljeet
Guest
Diljeet

Thanks, very much Helped a lot

trackback
Probably really simple solution!

[…] Perhaps this would be useful to you? How to sort an ArrayList in java Reply With Quote « Probably Wrong Section But need to do IRS […]

trackback
Sort arraylist | Leatherandlace

[…] How to sort an ArrayList in javaJul 7, 2010 … By default, the ArrayList’s elements are display according to the sequence it is put inside. Often times, you may need to sort the ArrayList to … […]

knrr
Guest
knrr

should’ve mentioned that the elements in the List have to implement the Comparable interface

atul
Guest
atul

knrr, its simple and similar to the arrays sorting post -check out
http://www.mkyong.com/java/java-object-sorting-example-comparable-and-comparator/

john
Guest
john

this is doesn’t work
I have to do it like that
Collections.sort(student, new Comparator() {

@Override
public int compare(Student o1, Student o2) {
return o1.getName().compareTo(o2.getName());

}
});
}

then it works