# 5.1 Ordering object and priority queue

 Page 1 / 2
The module describes comparator objects for determining a binary order and builds a generalized priority queue with it.

## Order relation

When comparing two objects, there are two ways to look at the comparison behavior, which creates a notion of ordering between the two objects:

1. Each object knows how to compare itself -- Comparison is considered intrinsic to the object and is part of its behavior.
2. Comparison is done by an external object -- A third object is introduced that contains the ability to compare two objects.

These two different outlooks on binary object ordering will be explored below in terms of the two Java interfaces that are used to model them.

## ``` java.lang.Comparable ```

There are many computing tasks that require performing some sort of comparison between data objects. A few data types are endowed with a "natural" ordering of their values. The integers have a natural ordering "less or equal to", labeled "<=", defined as follows.

n<= m iff m = n + k, for some non-negative integer k
( Note : a rigorous mathematical definition of the set of non-negative integers is beyond the scope of this lecture).

The above natural order of the integers is a concrete instance of an abstract concept called an order relation. An order relation on a set S is a boolean function R on S x S that is

• reflexive: R(x, x) is true for all x in S,
• anti-symmetric: R(x,y) and R(y,x) implies x = y, for all x, y in S, and
• transitive: R(x, y) and R(y, z) implies R(x, z), for all x, y, z in S.

To model order relations that are naturally endowed in certain types of data objects, Java provides an interface called `Comparable` , which has exactly one method called

``` int compareTo(Object rhs) ``` , defined abstractly as

• `x.compareTo(y)<0` means `x is "less than" y` ,
• `x.compareTo(y) == 0` means `x is "equal to" y` , and
• `x.compareTo(y)>0` means `y is "less than" x` .

For example, the `Integer` class implements the `Comparable` interface as follows. If `x` and `y` are `Integer` objects then,

• `x.compareTo(y)<0` means `x<y` ,
• `x.compareTo(y) == 0` means `x == y` , and
• `x.compareTo(y)>0` means `y<x` .

Common data types that have a natural ordering among their values, such as `Double` , `String` , `Character` , all implement `Comparable` .

• Objects carry their ability to be compared with them and thus can be involved in comparison operations anywhere.
• The comparison operation is invariant and thus consistent in all situations.
• Comparison operation cannot be changed to match different situations.

## ``` java.util.Comparator ```

Most of the time, the ordering among the data objects is an extrinsic operation imposed on the object by the user of the objects. For example, the Pizza objects in homework 2 have no concepts of comparing among themselves, however, the user can impose an ordering on them by comparing their price/area ratios or their profits. To model extrinsic ordering relation, Java provides an interface in the `java.util` package called ``` Comparator ``` , which has exactly two methods:

• ``` int compare(Object x, Object y) ``` , to model the ordering
• `compare(x, y)<0` means `x is "less than" y` ,
• `compare(x, y) == 0` means `x is "equal to" y` , and
• `compare(x, y)>0` means `yis "less than" x` , and
• ``` boolean equals(Object x) ``` , to model equality of `Comparators` . Unlike the `equals` method of most objects, equality of `Comparator` s also requires that their comparison behavior be identical.

show that the set of all natural number form semi group under the composition of addition
what is the meaning
Dominic
explain and give four Example hyperbolic function
_3_2_1
felecia
⅗ ⅔½
felecia
_½+⅔-¾
felecia
The denominator of a certain fraction is 9 more than the numerator. If 6 is added to both terms of the fraction, the value of the fraction becomes 2/3. Find the original fraction. 2. The sum of the least and greatest of 3 consecutive integers is 60. What are the valu
1. x + 6 2 -------------- = _ x + 9 + 6 3 x + 6 3 ----------- x -- (cross multiply) x + 15 2 3(x + 6) = 2(x + 15) 3x + 18 = 2x + 30 (-2x from both) x + 18 = 30 (-18 from both) x = 12 Test: 12 + 6 18 2 -------------- = --- = --- 12 + 9 + 6 27 3
Pawel
2. (x) + (x + 2) = 60 2x + 2 = 60 2x = 58 x = 29 29, 30, & 31
Pawel
ok
Ifeanyi
on number 2 question How did you got 2x +2
Ifeanyi
combine like terms. x + x + 2 is same as 2x + 2
Pawel
x*x=2
felecia
2+2x=
felecia
×/×+9+6/1
Debbie
Q2 x+(x+2)+(x+4)=60 3x+6=60 3x+6-6=60-6 3x=54 3x/3=54/3 x=18 :. The numbers are 18,20 and 22
Naagmenkoma
Mark and Don are planning to sell each of their marble collections at a garage sale. If Don has 1 more than 3 times the number of marbles Mark has, how many does each boy have to sell if the total number of marbles is 113?
Mark = x,. Don = 3x + 1 x + 3x + 1 = 113 4x = 112, x = 28 Mark = 28, Don = 85, 28 + 85 = 113
Pawel
how do I set up the problem?
what is a solution set?
Harshika
find the subring of gaussian integers?
Rofiqul
hello, I am happy to help!
Abdullahi
hi mam
Mark
find the value of 2x=32
divide by 2 on each side of the equal sign to solve for x
corri
X=16
Michael
Want to review on complex number 1.What are complex number 2.How to solve complex number problems.
Beyan
yes i wantt to review
Mark
16
Makan
x=16
Makan
use the y -intercept and slope to sketch the graph of the equation y=6x
how do we prove the quadratic formular
Darius
hello, if you have a question about Algebra 2. I may be able to help. I am an Algebra 2 Teacher
thank you help me with how to prove the quadratic equation
Seidu
may God blessed u for that. Please I want u to help me in sets.
Opoku
what is math number
4
Trista
x-2y+3z=-3 2x-y+z=7 -x+3y-z=6
can you teacch how to solve that🙏
Mark
Solve for the first variable in one of the equations, then substitute the result into the other equation. Point For: (6111,4111,−411)(6111,4111,-411) Equation Form: x=6111,y=4111,z=−411x=6111,y=4111,z=-411
Brenna
(61/11,41/11,−4/11)
Brenna
x=61/11 y=41/11 z=−4/11 x=61/11 y=41/11 z=-4/11
Brenna
Need help solving this problem (2/7)^-2
x+2y-z=7
Sidiki
what is the coefficient of -4×
-1
Shedrak
A soccer field is a rectangle 130 meters wide and 110 meters long. The coach asks players to run from one corner to the other corner diagonally across. What is that distance, to the nearest tenths place.
Jeannette has \$5 and \$10 bills in her wallet. The number of fives is three more than six times the number of tens. Let t represent the number of tens. Write an expression for the number of fives.
What is the expressiin for seven less than four times the number of nickels
How do i figure this problem out.
how do you translate this in Algebraic Expressions
why surface tension is zero at critical temperature
Shanjida
I think if critical temperature denote high temperature then a liquid stats boils that time the water stats to evaporate so some moles of h2o to up and due to high temp the bonding break they have low density so it can be a reason
s.
Need to simplify the expresin. 3/7 (x+y)-1/7 (x-1)=
. After 3 months on a diet, Lisa had lost 12% of her original weight. She lost 21 pounds. What was Lisa's original weight?
Got questions? Join the online conversation and get instant answers!

#### Get Jobilize Job Search Mobile App in your pocket Now! By By OpenStax By Anh Dao By Anh Dao By Sam Luong By Madison Christian By OpenStax By OpenStax By OpenStax By Zarina Chocolate