| |
Struts Tutorials:
Struts2 Tag CheckBoxList , Checkbox, Iterator, IF
Struts2 Tag Library Example
Struts2 Tiles Example
Struts2 Tiles I18N Example
Struts2 Questions
Struts Tiles I18N Example
Struts Eclipse MVC
Struts2 Tags
Struts2 Example and Tutorial
Struts MVC
Struts2 Validation
Hibernate Tutorials:
Hibernate Case Study
Class Hierarchy Persist Example
Using Hibernate Interceptor
Hibernate Questions with Answer
Hibernate Many-to-Many Mapping Example
Hibernate one-to-many Mapping Example
Hibernate and ORM tools
Spring Hibernate Example
Hibernate SessionFactory Example
Hibernate Mapping Class Hierarchy
Hibernate Questions
Hibernate SessionFactory Questions
Spring Hibernate Example:
Spring Hibernate Case Study
Written By : Amit
Title :
Customizing JTree using Swing
Description :
AWT using Java Technology More...
|
Written By : Amit
Title :
Event handling and Java Technology
Description :
Event handling and Java Technology More...
|
Written By : admin
Title :
Using Final Keyword
Description :
Example on using Final Keyword in Java code More...
|
Written By : Amit
Title :
In memory AWT Image Creation
Description :
Java Code More...
|
Written By : Amit
Title :
Java Integral Types
Description :
Java Types with Bit size More...
|
Written By : Amit
Title :
Search Class in JAR
Description :
Using Java Technology More...
|
Written By : Amit
Title :
Move component on Java Applet
Description :
Drag and Drop More...
|
| Tags/Keywords : Using-Java-Technology - Java-Comparable-and-Comparator - Coding-Tips-on-Java Example Author : Amit Date (Year/Month/Date): 2009-01-27
Java Comparable and Comparator using Java Technology | |
Please be informed that NONE of the design/code from this
page is claiming to be some sort of best practices and we DO NOT expect
any of our visitor/reader of this page to assume this as some sort of
best practice for any context and should not be using this
as it is without appropriate evaluation to their, so to say,
specific programming context.
This page intends only to provide bit and piece of known ways for
doing some sort of example and may not be fit for any other purpose.
Java Questions and My Opinions
What is the sorting implementation
Java Technology provides and how to
use it effectively?
Explaination:
There are two ways sorting of objects
can be done, one that is decided while
coding and the objects to be sorted are
designed and developed, taking sorting
implementation into consideration.
Like the objects to be sorted should
have its class implement java.lang.Comparable
interface and implement compareTo(Object obj)
method. Another way is to write a comparator
class, that implements java.util.Comparator
interface and implements compare(Object obj1,
Object obj2) and this comparator is bound to
a specific type of comparing requirement,
but in this way of comparison, the original
object is used as it is.
Let us take an example to understand it even
more clearly.
Suppose there is a class Student, and it has
two fields name and age.
Now let us consider the first case, where our
Student class implements java.lang.Comparable,
and has compareTo method implemented as follows:
------------------------------------------------
public class Student implements Comparable
{
String name;
int age;
public Student(String name, int age)
{
this.name = name;
this.age = age;
}
public int compareTo(Object obj)
{
//if sorting is required to be based on name.
//descending alphabetical order, as it returns negative
//value.
return -(this.name.compareTo(((Student)obj).name));
}
}
-------------------------------------------------
Here the comparison is based on name and alphabetically
descending order.
Now if multiple objects of Student class are created
and added to a Set implementation like TreeSet,
then by default all the items will be
automatically sorted as descending alphabetically
by Student.name.
Suppose this Student class doesn't implement
Comparable and is part of a JAR file, and developer
is instructed not to change this Student class,
but to list all the Student Objects descending
alphabetically by Student.name.
Then in this case, the second approach
(as already discussed) comes to rescue.
Here Another class is introduced, known as
comparator, as this class implements
java.util.Comparator and this comparator
class implements compareTo(Object obj1, Object obj2)
method, and this comparator is not generic
but bound to Student class only, as it is
going to hard code comparison logic based on
the Student.name, as follows:
public int compare(Object obj1,Object obj2)
{
return -((((Student)obj1).name)
.compareTo(((Student)obj2).name));
}
And java.util.Collections.sort(List objList,
Comparator comparator) can be used to sort
objList (Student objects stored in a java.util.ArrayList),
as per the comparator passed as argument.
In this above example, Student class is hard
coded in the compare method of the comparator,
but this means for every class to be sorted, one
has to create a comparator, and this means a
lot of comparators in the application and growing,
there could be some alternative elegant approach
to this, I have written a generic comparator using
reflection to dynamically use the class object to
come up with the appropriate compare implementation.
It will be good if we shall walk through this example.
Please try this by some small sample program, and
this concept is really interesting to explore.
All contents of this site are copyrighted by the Author,
Contact Author
Reproduction of any of these material from
this site, in any form, is strictly prohibited.
 | Author of this article/writeup has expressed his/her willingness |
to help or guide users with any technical difficulties he/she faces
while working with the example code environment setting up, running
and resolving any such exception raised during compile or at runtime.
You may ask for any technical doubt or seek technical help related to
this article by using following form to reach for technical help
from the Author for FREE.
This article's Author shall be reading your request and responding
within reasonable time (no resolution timeframe defined as such).
|
|
|
| | |
Commented By -> sneha | please tell me how i generate automatic numbers
using Java and also from accessing using MSaccess |
| | |
Commented By -> Amit | If your question is towards the Random number generation
using Java, then please refer Javadoc API for Random class
for example:
http://java.sun.com/j2se/1.4.2/docs/api/java/util/Random.html
and for your question regarding MS Access, Pls refer JExcelApi
from http://jexcelapi.sourceforge.net/, and there are many
utility framework available in this space.
Please do let me know if this answers your questions.
|
| | |
Commented By -> Nagarjuna | 1. How to mapping two tables(database tables for exmpale emp,dept) in hibernate?
2.How to configure the spring?
3. how to integrate sping and hibernate?
4.Explain project architecture?
5. Spring web mvc,aop,Ioc flow with coding? |
| | Are you interested in solving a very interesting Technology Stack while Playing this Game 
|
|
| Home >>> Coding Tips on Java >>> Java Comparable and Comparator >>> Using Java Technology |
|
|
Visitor/User referred related external URL:
(Visible upon review and approved by this site Administrator)
|
|
|
|
|
<- requires login | Log in or Register | |
Copyright © 2008-2009, Interview-Questions-Tips-Forum, All Rights Reserved. | CONTACT PRIVACY POLICY DISCLAIMER |
 |
Terms of Use and Disclaimer :
This web site provides some of the information about various technologies, example
code, tips, tutorials etc. Like any printed materials, content of these pages may
become out of date over a period of time. Therefore all visitor/users of this web
site are requested/advised to refer to the originating parties/sources for the
latest changes and happenings for detailed information. This information is not
intended to be a substitute for the original reference provided by the originating
parties/sources.
By accessing and using this website in any ways, including, without
limitation, browsing the website pages, using any information, using any content and/or
downloading any materials, you agree to and are bound by the terms of use
described in this page and Usage Terms and Conditions.
If you do not agree to all of
the terms and conditions contained in the terms of use described in this
page and Usage Terms and Conditions, do not use this
website in any manner. If you are using the website on behalf of your
employer, you represent that you are authorized to accept these Terms of Use
on your employer's behalf.
All Trademarks are property of their respective owner. Appropriate measure is being
taken for providing accurate and up-to-date information but like any printed materials,
these blog(s)/contents may eventually be outdated one day, so if you are using any
of these information, please refer original content/documentation from respective sources.
And under no circumstances shall the Author of these contents and/or this web site
be liable for any loss, damage, expense incurred or suffered which is claimed to have
occurred because of usage of the contents of this web site.
If you have any questions/queries/feedback/suggestions then please write to this web
site owner at contact.
|  |
|
|
|
|
|