File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Java in General and the fly likes sorting using comparator interface Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of EJB 3 in Action this week in the EJB and other Java EE Technologies forum!
JavaRanch » Java Forums » Java » Java in General
Bookmark "sorting using comparator interface" Watch "sorting using comparator interface" New topic

sorting using comparator interface

Micah Wedemeyer
Ranch Hand

Joined: Jun 11, 2001
Posts: 68
I have an object that contains basically 2 fields: a String and an integer. When I sort for display I want to be able to sort both ways, alphabetically and numerically. Right now, inside the object I have written an equals(Object o) method for the aphabetical display. I wrote my own quickSort for numerical display. Should I just get rid of the equals method and write 2 comparator classes? I'm not exactly sure how to use comparator, or if it even applies here, but it seems right.
Someone give me some help, please!
Junaid Bhatra
Ranch Hand

Joined: Jun 27, 2000
Posts: 213
You seem to be on the right track. Assuming you have a List of your objects, you could write two Comparator classes, one for sorting by integers & the other one by Strings. Then you could use the following method passing in the appropriate Comparator instance:

You could define the comparator class as:

You get the general idea...

[This message has been edited by Junaid Bhatra (edited August 02, 2001).]
Micah Wedemeyer
Ranch Hand

Joined: Jun 11, 2001
Posts: 68
Ok, got it working with Collections.sort() Heh, it's even faster than my quickSort was. I guess I'll have to brush up on my sorting optimizations.
I agree. Here's the link:
subject: sorting using comparator interface
Similar Threads
Comparator & Equals
Sorting problem
I m still not understanding COMPARABLE Interface
i have not override comparator's equals() method(overrided compare())-working fine-how?