<< Chapter < Page Chapter >> Page >

The String class implements the Comparable interface. Therefore, objects instantiated from the String class have a natural ordering when placed in a collection.

Because the compareTo method of the String class, (which implements the Comparable interface) considers upper-case and lower-case characters to be different, there were no duplicate elements added to thecollection when only the compareTo method was used to compare elements. The six String objects were simply arranged so that the iterator would return references to those objects in sorted order. This produced the output shownbelow:

BILL Bill JOE Joe TOM Tom

A TreeSet with a Comparator

The code shown in Listing 4 was used to instantiate a new TreeSet object. A Comparator object's reference was passed to the TreeSet constructor. The Comparator object (instead of the compareTo method) was subsequently used for comparing and controlling the sorting order of the elements in the TreeSet collection.

Listing 4 . A TreeSet with a Comparator.
ref = new TreeSet(new TheComparator());Populator.fillIt(ref);iter = ref.iterator(); while(iter.hasNext()){System.out.print(iter.next() + " "); }//end while loop

The code in Listing 4 was also used to populate the collection, and to display the contents of the collection after it was populated.

Populating the TreeSet collection

As before, the fillIt method shown in Listing 5 was used to populate the collection. The same six names as before were added to the TreeSet collection. However, the result of adding those six names was determined by the behavior of the compare method in the Comparator object used by the TreeSet object for managing the collection. (Three of the names were rejected as duplicates.)

Listing 5 . Populating the TreeSet collection.
public static void fillIt(Collection ref){ ref.add("Joe");ref.add("Bill"); ref.add("Tom");ref.add("JOE"); ref.add("BILL");ref.add("TOM"); }//end fillIt()

Beginning of the Comparator class

The code in Listing 6 shows the beginning of the class from which the Comparator object was instantiated. Note that this class implements the Comparator interface, and therefore defines a concrete version of the method named compare .

Listing 6 . Beginning of the Comparator class.
class TheComparator implements Comparator,Serializable{public int compare(Object o1,Object o2){ if(!(o1 instanceof String))throw new ClassCastException(); if(!(o2 instanceof String))throw new ClassCastException();

Listing 6 doesn't contain the interesting part of this class. The code in Listing 6 simply throws an exception if the compare method receives any incoming parameters of types other than String .

The interesting code

The interesting code in the method named compare is shown in Listing 7 .

Listing 7 . The interesting code in the compare method.
int result = ((String)o1).toUpperCase().compareTo(((String)o2). toUpperCase());return result; }//end compare()

The code in Listing 7 makes use of two methods of the String class to compare the two incoming objects.

Questions & Answers

how does the planets on our solar system orbit
cheten Reply
how many Messier objects are there in space
satish Reply
did you g8ve certificate
Richard Reply
what are astronomy
Issan Reply
Astronomy (from Ancient Greek ἀστρονομία (astronomía) 'science that studies the laws of the stars') is a natural science that studies celestial objects and phenomena. It uses mathematics, physics, and chemistry in order to explain their origin and evolution.
Rafael
vjuvu
Elgoog
what is big bang theory?
Rosemary
what type of activity astronomer do?
Rosemary
No
Richard
the big bang theory is a theory which states that all matter was compressed together in one place the matter got so unstable it exploded releasing All its contents in the form of hydrogen
Roaul
I want to be an astronomer. That's my dream
Astrit
Who named the the whole galaxy?
Shola Reply
solar Univers
GPOWER
what is space
Richard
what is the dark matter
Richard
what are the factors upon which the atmosphere is stratified
Nicholas Reply
is the big bang the sun
Folakemi Reply
no
Sokak
bigbang is the beginning of the universe
Sokak
but thats just a theory
Sokak
nothing will happen, don't worry brother.
Vansh
what does comet means
GANGAIN Reply
these are Rocky substances between mars and jupiter
GANGAIN
Comets are cosmic snowballs of frozen gases , rock and dust that orbit the sun. They are mostly found between the orbits of Venus and Mercury.
Aarya
hllo
John
hi
John
qt rrt
John
r u there
John
hey can anyone guide me abt international astronomy olympiad
sahil
how can we learn right and true ?
Govinda Reply
why the moon is always appear in an elliptical shape
Gatjuol Reply
Because when astroid hit the Earth then a piece of elliptical shape of the earth was separated which is now called moon.
Hemen
what's see level?
lidiya Reply
Did you mean eye sight or sea level
Minal
oh sorry it's sea level
lidiya
according to the theory of astronomers why the moon is always appear in an elliptical orbit?
Gatjuol
hi !!! I am new in astronomy.... I have so many questions in mind .... all of scientists of the word they just give opinion only. but they never think true or false ... i respect all of them... I believes whole universe depending on true ...থিউরি
Govinda
hello
Jackson
hi
Elyana
we're all stars and galaxies a part of sun. how can science prove thx with respect old ancient times picture or books..or anything with respect to present time .but we r a part of that universe
w astronomy and cosmology!
Michele
another theory of universe except big ban
Albash Reply
how was universe born
Asmit Reply
there many theory to born universe but what is the reality of big bang theory to born universe
Asmit
what is the exact value of π?
Nagalakshmi
by big bang
universal
there are many theories regarding this it's on you believe any theory that you think is true ex. eternal inflation theory, oscillation model theory, multiple universe theory the big bang theory etc.
Aarya
I think after Big Bang!
Michele
from where on earth could u observe all the stars during the during the course of an year
Karuna Reply
I think it couldn't possible on earth
Nagalakshmi
in this time i don't Know
Michele
is that so. the question was in the end of this chapter
Karuna
in theory, you could see them all from the equator (though over the course of a year, not at pne time). stars are measured in "declination", which is how far N or S of the equator (90* to -90*). Polaris is the North star, and is ALMOST 90* (+89*). So it would just barely creep over the horizon.
Christopher
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 Download on the App Store Now




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?

Ask