Difference between Comparable and Comparator interfaces
posted 17 years ago
-
-
Number of slices to send:Optional 'thank-you' note:
-
-
Can someone tell me the difference between Comparable and Comparator interface and which to use when with examples.
Thanks
Thanks
posted 17 years ago
-
-
Number of slices to send:Optional 'thank-you' note:
-
-
Comparable interface is defined in the java.lang package and is implemented by a class if the objects of this class can be compared to each other. The comparation can be done using the compareTo() method of this interface. This method should return 0 if the objects are equal, 1 if the argument is smaller and -1 if the argument is bigger than the object on which we're calling this method.
Here's an example of a comparable class. We define the rule for comparation: the RichMan object is bigger if it's int field "money" is greater than one of another RichMan
.
Comparator interface is defined in the java.util package and is used for sorting collections, e.g., with Collections.sort method. It defines a method compare(T o1, T o2) which is used for defining a custom sort order. For example, you want to sort a list of RichMan objects not by their money amount, but using their name order. Here's how this can be done:
So to sort a list of RichMan objects by their names, you can say:
[ December 18, 2007: Message edited by: Serge Petunin ]
Here's an example of a comparable class. We define the rule for comparation: the RichMan object is bigger if it's int field "money" is greater than one of another RichMan
.Comparator interface is defined in the java.util package and is used for sorting collections, e.g., with Collections.sort method. It defines a method compare(T o1, T o2) which is used for defining a custom sort order. For example, you want to sort a list of RichMan objects not by their money amount, but using their name order. Here's how this can be done:
So to sort a list of RichMan objects by their names, you can say:
[ December 18, 2007: Message edited by: Serge Petunin ]
posted 17 years ago
-
-
Number of slices to send:Optional 'thank-you' note:
-
-
Hi,
And also, the custom sort order can be specified for a sorted collection like TreeMap with a comparator as a constructor argument;
TreeMap()
Constructs a new, empty map, sorted according to the keys' natural order.
TreeMap(Comparator c)
Constructs a new, empty map, sorted according to the given comparator
And also, the custom sort order can be specified for a sorted collection like TreeMap with a comparator as a constructor argument;
TreeMap()
Constructs a new, empty map, sorted according to the keys' natural order.
TreeMap(Comparator c)
Constructs a new, empty map, sorted according to the given comparator
| Hang a left on main. Then read this tiny ad: Paul Wheaton's 16th Kickstarter: Gardening playing cards for gardeners and homesteaders https://coderanch.com/t/889615/Paul-Wheaton-Kickstarter-Gardening-playing |









