aspose file tools
The moose likes Java in General and the fly likes Sorting Problem Big Moose Saloon
  Search | Java FAQ | Recent Topics
Register / Login


Win a copy of The Mikado Method this week in the Agile and other Processes forum!
JavaRanch » Java Forums » Java » Java in General
Reply Bookmark "Sorting Problem" Watch "Sorting Problem" New topic
Author

Sorting Problem

parampreet sethi
Greenhorn

Joined: Aug 03, 2009
Posts: 27

Hi all,

Here goes the problem:

I have categories and multiple sub-categories inside each category.

Each category has a priority assigned to it. Thus the subcategories belonging to different categories should be sorted first in priority and if inside the same category they should be alphabetically sorted.

For Category priority sorting, I created a custom Comparator. I used TreeMap<String, TreeSet<String>> as data structure and passed the comparator while creating the object.

My first level priority sorting is working fine.

I have two issues:
1. The alphabetical ordering within a category is not working. This is because of issue #2.
2. When I try to do map.get(key), it always returns me null.



Is there any basic java concept that I am overlooking while coding this? Or other suggestions how this problem can be solved in a better/faster way.

Param
parampreet sethi
Greenhorn

Joined: Aug 03, 2009
Posts: 27

Thanks everyone. I got the issue.

In my Comparator I have combined the condition for > and = to return 1.

I changed it to separate conditions and returned 0 when the two objects are equal.

Suggestions on implementing this problem in a better way are welcome.
Campbell Ritchie
Sheriff

Joined: Oct 13, 2005
Posts: 32694
    
    4
There are instructions for coding the methods in Comparable<T> and Comparator<T>, and the Collections Framework classes are programmed expecting those conditions to be fulfilled. If you choose to breach those conditions, you needn't expect the sorting to work as you hoped.
 
I agree. Here's the link: http://ej-technologies/jprofiler - if it wasn't for jprofiler, we would need to run our stuff on 16 servers instead of 3.
 
subject: Sorting Problem
 
Similar Threads
Sort a HashMap based on a Value object's attribute
Diff. Between Comparable & Comparator Interface
HELP - Stuck on a TreeMap key problem
TableSorter and Selection gives problems
How to over ride the List.contains() method.