<< Chapter < Page Chapter >> Page >

Specialized for type MyClass

This Comparator is specialized to compare two objects of the class named MyClass . The first two statements in Listing 6 above confirm that both of the incoming objects are of type MyClass . If either object is not of that type, an exception is thrown.

General behavior of compare method

The general description of the behavior of the compare method as provided by Oracle is shown below:

"Compares its two arguments for order. Returns a negative integer, zero, or a positive integer as the first argument is less than, equal to, orgreater than the second."

Implementation of required behavior

This behavior is accomplished by the code shown in Listing 7 . In this case, the comparison is based solely on the values of the instance variablenamed data in each of the two objects.

Depending on which object contains the larger value in its instance variable, a value of 1 or -1 is returned. If the two values are equal, a value of 0is returned.

(Note that it is up to the author of the compare method to decide what constitutes larger. This gives the author of themethod a great deal of control over the results of a sorting operation.)
Listing 7 . Implementation of required behavior.
if(((MyClass)o1).data<((MyClass)o2).data) return -1;if(((MyClass)o1).data>((MyClass)o2).data) return 1;else return 0; }//end compare()

Other stipulations

The documentation for the compare method contains several other stipulations regarding the behavior of the method. While I believe thatthis version of the compare method meets all of those stipulations, I haven't taken the time to test it fully. Therefore, it is possible that itmay not meet all of the stipulations in terms of its behavior.

The equals method

Every new class inherits a default version of the equals method from the class named Object. Therefore, a new class that implements the Comparator interface already has such a method. The new class is free to override the inherited version, or to simply make use of the inheritedversion. Here is what Oracle has to say on the subject:

"Note that it is always safe not to override Object.equals(Object). However, overriding this method may, in some cases, improve performance byallowing programs to determine that two distinct Comparators impose the same order."

Overridden equals method

I decided, for purposes of illustration, to go ahead and override the equals method. However, my overridden version, as shown in Listing 8 isn't very significant. It simply confirms that an object being comparedfor equality to a Comparator object is instantiated from the same class.

Since the Comparator object doesn't contain any instance variables, there isn't much more to be tested for equality.

Listing 8 . The overridden equals method.
public boolean equals(Object o){ if(!(o instanceof TheComparator))return false; else return true;}//end overridden equals() }//end class TheComparator

The program output

Finally, the code shown in Listing 9 uses an Iterator to display the contents of the populated TreeSet object.

Questions & Answers

What is the law of demand
Yaw Reply
price increase demand decrease...price decrease demand increase
ıf the price increase the demand decrease and if the demand increase the price decrease
all other things being equal, an increase in demand causes a decrease in supply and vice versa
how is the economy of usa now
What is demand
jude Reply
Demand is the quantity of goods and services a consumer is willing and able to purchase at various prices over a given period of time.
Okay congratulations I'll join you guys later .
calculate elasticity of income exercises
If potatoes cost Jane $1 per kilogram and she has $5 that could possibly spend on potatoes or other items. If she feels that the first kilogram of potatoes is worth $1.50, the second kilogram is worth$1.14, the third is worth $1.05 and subsequent kilograms are worth $0.30, how many kilograms of potatoes will she purchase? What if she only had $2 to spend?
Susan Reply
cause of poverty in urban
DAVY Reply
QI: (A) Asume the following cost data are for a purely competitive producer: At a product price Of $56. will this firm produce in the short run? Why Why not? If it is preferable to produce, what will be the profit-maximizing Or loss-minimizing Output? Explain. What economic profit or loss will the
Falak Reply
what is money
DAVY Reply
money is any asset that is generally acceptable for the exchange of goods and for the settlement of debts
what is economic
Stephen Reply
economics is the study of ways in which people use resources to satisfy their wants
what is Price mechanism
Dhany Reply
what is Economics
The study of resource allocation,distribution and consumption.
introduction to economics
Uday Reply
welfare definition of economics
examine the wealth and welfare definitions of economics
read book by ml jhingan
What do we mean by Asian tigers
Aeesha Reply
Dm me I will tell u
What is Average revenue
How are u doing
it is so fantastic
it is a group of 4 countries named Singapore, South Korea, Taiwan and Hong Kong because their economies are growing very faster
Please, average revenue is an amount of money you gained after deducted your total expenditure from your total income.
what's a demand
Edward Reply
it is the quantity of commodities that consumers are willing and able to purchase at particular prices and at a given time
quantity of commodities dgat consumers are willing to pat at particular price
demand depends upon 2 things 1wish to buy 2 have purchasing power of that deserving commodity except any from both can't be said demand.
Demand is a various quantity of a commodities that a consumer is willing and able to buy at a particular price within a given period of time. All other things been equal.
State the law of demand
The desire to get something is called demand.
what is the use of something should pay for its opportunity foregone to indicate?
Random Reply
Why in monopoly does the firm maximize profits when its marginal revenue equals marginal cost
astrid Reply
different between economic n history
Falma Reply
Difference between extinct and extici spicies
Amanpreet Reply
Got questions? Join the online conversation and get instant answers!
Jobilize.com Reply

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play

Source:  OpenStax, Object-oriented programming (oop) with java. OpenStax CNX. Jun 29, 2016 Download for free at https://legacy.cnx.org/content/col11441/1.201
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Object-oriented programming (oop) with java' conversation and receive update notifications?