Sunday, 15 January 2012

Hashmap sort java -



Hashmap sort java -

this question has reply here:

java. sorted map value [duplicate] 4 answers

i want come in text, separate letters , create hashmap keys-> unique letters of text , values -> number of repeated letters.how sort values of hashmap descending order.

import java.io.bufferedreader; import java.io.ioexception; import java.io.inputstreamreader; import java.util.hashmap; public class menu { public static void main(string args[]){ string text = null; bufferedreader br = new bufferedreader(new inputstreamreader(system.in)); system.out.println("please come in text: "); seek { text = br.readline(); } grab (ioexception e) { e.printstacktrace(); } hashmap<character, integer> map = new hashmap(); string uppercase = text.touppercase(); (int = 0;i < uppercase.length(); i++){ character currentchar = uppercase.charat(i); if(map.get(currentchar) == null){ map.put(currentchar, 1); } else { map.put(currentchar, map.get(currentchar) + 1); } } (character name: map.keyset()){ string key = name.tostring(); string value = map.get(name).tostring(); system.out.println(key + " " + value); } } }

transform map list<map.entry<character, integer>>:

list<map.entry<character, integer>> entries = new arraylist<>(map.entryset());

then sort list entry value, using comparator<map.entry<character, integer>>.

or, instead of storing integer value of map, store instance of characteroccurence:

public class characteroccurrence { private char character; private int count; ... }

then create list values of map, , sort list.

java

No comments:

Post a Comment