File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Beginning Java and the fly likes Question regarding Sorting Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "Question regarding Sorting" Watch "Question regarding Sorting" New topic

Question regarding Sorting

Arjun Reddy
Ranch Hand

Joined: Nov 10, 2007
Posts: 629
Hi all,

I was just wondering if people are using Collections.sort() or any one of the sorting techniques like the quciksort, merge sort etc...? And also what is the fastest sorting algorithm?


Be Humble... Be Nice.
arulk pillai
Ranch Hand

Joined: May 31, 2007
Posts: 3371
Use the Collections.sort(). Also look at the Comparable & Comparator interfaces.

[] | [Java job hunting know how] | [Java resumes]
Ernest Friedman-Hill
author and iconoclast

Joined: Jul 08, 2003
Posts: 24199

There's no one "fastest" algorithm; there are some special-case sorts you can do in time proportional to the number of items, but most general-purpose fast sorts perform in time proportional to the number of items times the logarithm of that number. Sometimes a fast sort can "accidentally" run much more slowly, if, for example, the data is already mostly sorted. High-quality implementations can avoid this kind of problem, which is why it's always a much better idea to use a library sort than to try to implement your own.

Colletions.sort() is an implementation of mergesort, by the way.

[Jess in Action][AskingGoodQuestions]
Pat Farrell

Joined: Aug 11, 2007
Posts: 4659

"fastest sorting" has been an academic research topic for 50+ years. As posted above, there is no "fastest" in all cases. Read any book on algorithm analysis, they all have a chapter or two on the topic.

Be careful if you get into large sets to sort. Some generally well behaved algorithms fail badly in some cases. Some do really bad if the set is already sorted, some if the set is already reverse sorted, etc.

Know your data before you pick one.

if your data is essentially randomly ordered, then the Collections.sort() is fine.
I agree. Here's the link:
subject: Question regarding Sorting
It's not a secret anymore!