java - How does compareTo method of Comparable class work for objects -


say had movie class following instance variables:

private string mytitle; // title of bond film private string mybondactor; // name of actor portrayed james bond private int myyear; // year film released private double myfilmrating;// all-reviews.com private int mylengthhours; // hours (truncated) portion of film length private int mylengthminutes;// minutes beyond truncated hours 

and had arraylist of movie objects, , used bubble sort algorithm sort arraylist:

public void bubblesort(arraylist<movie> list) { (int outer = 0; outer < list.size() - 1; outer++) {     (int inner = 0; inner < list.size() - outer - 1; inner++) {         if (list.get(inner).compareto(list.get(inner + 1)) > 0) {             movie temp = list.get(inner);             list.set(inner, list.get(inner + 1));             list.set(inner + 1, temp);         }     } } 

how arraylist being sorted?

see when int x= 5,y=10 , can compare them x<y, can compare 2 variables, how compare 2 objects ??

we compare objects compareto(), movie class must implement comparable interface in order compare objects 1 another.

you have provide implementation compareto() method, this criteria decide object greater other.

for example, let movie should sorted(compared) based on int myyear(year of release) of film implementation

public int compareto(movie other) {    return this.myyear - other.getmyyear(); } 

now create 2 objects m1 , m2 of type movie m1.myyear=2000 , m2.myyear=2001

when m1.compareto(m2);

  • we 2000 - 2001 = -1... negative number, means m1 < m2.
  • if positive number m1 > m2
  • if 0 m1 ==m2

here decide movie object greater other based on myyear , may decided on else maybe more condtions. whatever condition may be, remember number return +ve , -ve or 0 (zero) decide object greater other.


Comments

Popular posts from this blog

android - Get AccessToken using signpost OAuth without opening a browser (Two legged Oauth) -

org.mockito.exceptions.misusing.InvalidUseOfMatchersException: mockito -

google shop client API returns 400 bad request error while adding an item -