Hello, I have a question about sorting. How can I sort HashMap by element in the HashMap ? That's meaning, if I have in the Sys class map such as: java Syntax (Toggle Plain Text) protected Map <Constructors,RaceTeam>raceTeam=new HashMap<Constructors,RaceTeam>();protected <strong class="highlight">Map</strong> <Constructors,RaceTeam>raceTeam=new HashMap<Constructors,RaceTeam>(); and in the RaceTeam class I have this variables: java Syntax (Toggle Plain Text) protected Constructors name; protected int totalScore; protected URL website; protected double budget; protected Race lastRace; protected Constructors name; protected int totalScore; protected URL website; protected double budget; protected Race lastRace; and I want to sort the the eaceTeam map by the "totalScore" from the biggest to the smallest, How can I do this thing ? I do the follwing: java Syntax (Toggle Plain Text) TreeMap<Integer,RaceTeam> teams = new TreeMap<Constructors,RaceTeam> teams = new TreeMap<Constructors,RaceTeam>(); Iterator iter = teams.keySet().iterator(); Object obj; while (iter.hasNext()) { obj = iter.next(); System.out.println(teams.get(obj).getName() + " " + teams.get(obj).getTotalScore()); }TreeMap<Integer,RaceTeam> teams = new TreeMap<Constructors,RaceTeam> teams = new TreeMap<Constructors,RaceTeam>(); Iterator iter = teams.keySet().iterator(); Object obj; while (iter.hasNext()) { obj = iter.next(); System.out.println(teams.get(obj).getName() + " " + teams.get(obj).getTotalScore()); } The out put will be: Brawn 390 Toyota 584 BMW_Sauber 470 Renault 782 Toro_Rosso 488 Force_India 0 Ferrari 1049 I want it to be: Ferrari 1049 Renault 782 Toyota 584 Toro_Rosso 488 BMW_Sauber 470 Brawn 390 Force_India 0 titosd Reputation Points: 10 Solved Threads: 0Light Poster Offline 40 posts since Jan 2009Permalink Jun 18th, 2009 0 Re: How to sort HashMap ??TreeMaps are held sorted by key, so if you want to see the values sorted in some other order you need to get the values as a simple collection teams.values() and then use Collections.sort to sort it using a custom comparator that compares raceTeams by their names. JamesCherrill Reputation Points: 469 Solved Threads: 193Nearly a Posting Virtuoso Online 1,323 posts since Apr 2008Permalink Jun 18th, 2009 0 Re: How to sort HashMap ??but I sholud not use collection.sort I should do it without collection.sort I do the following: java Syntax (Toggle Plain Text) public void printRaceTeamsRankedReport(){ TreeMap<Constructors,RaceTeam> teams = new TreeMap<Constructors,RaceTeam>(); teams.putAll( raceTeam); TreeMap <Integer,Constructors> teamCo = new TreeMap <Integer,Constructors>(); Object obj; Iterator itera = teams.keySet().iterator(); while ((itera.hasNext())) { obj = itera.next(); teamCo.put(teams.get(obj).getTotalScore(), teams.get(obj).getName()); } MyFileLogWriter.writeToFileInSeparateLine("/n====Race Teams Ranked Report===="); Iterator it = teamCo.keySet().iterator();// Object obj; MyFileLogWriter.writeToFileInSeparateLine(teamCo.descendingMap()); MyFileLogWriter.writeToFileInSeparateLine("====End of Race Teams Ranked Report====/n"); } public void printRaceTeamsRankedReport(){ TreeMap<Constructors,RaceTeam> teams = new TreeMap<Constructors,RaceTeam>(); teams.putAll( raceTeam); TreeMap <Integer,Constructors> teamCo = new TreeMap <Integer,Constructors>(); Object obj; Iterator itera = teams.keySet().iterator(); while ((itera.hasNext())) { obj = itera.next(); teamCo.put(teams.get(obj).getTotalScore(), teams.get(obj).getName()); } MyFileLogWriter.writeToFileInSeparateLine("/n====Race Teams Ranked Report===="); Iterator it = teamCo.keySet().iterator(); // Object obj; MyFileLogWriter.writeToFileInSeparateLine(teamCo.descendingMap()); MyFileLogWriter.writeToFileInSeparateLine("====End of Race Teams Ranked Report====/n"); } The output is: {1049=Ferrari, 782=Renault, 584=Toyota, 488=Toro_Rosso, 470=BMW_Sauber, 390=Brawn, 0=Force_India} How can get it like this : Ferrari 1049 Renault 782 Toyota 584 Toro_Rosso 488 BMW_Sauber 470 Brawn 390 Force_India 0 Last edited by titosd; Jun 18th, 2009 at 4:26 am. titosd Reputation Points: 10 Solved Threads: 0Light Poster Offline 40 posts since Jan 2009Permalink Jun 18th, 2009 0 Re: How to sort HashMap ??Write you own little loop thru the map printing 1 element = 1 line at a time. JamesCherrill Reputation Points: 469 Solved Threads: 193Nearly a Posting Virtuoso Online 1,323 posts since Apr 2008Permalink Jun 18th, 2009 0 Re: How to sort HashMap ??Thank u bro, The problem is solved