基于Key-Value对的排序(Java版)
2014-05-28 21:41
225 查看
最近在带Java的助教,有个实验题要求:
编程接受用户输入的一段英文文字,使用一个数组统计每个字母(不计大小写)出现的次数相对于字母总数的比率,打印显示这个比率。并对字母出现的比率进行排序。
我第一反映是存在一个Map里面进行排序,但是hashmap貌似没有sort方法,需要转成List.
编程接受用户输入的一段英文文字,使用一个数组统计每个字母(不计大小写)出现的次数相对于字母总数的比率,打印显示这个比率。并对字母出现的比率进行排序。
我第一反映是存在一个Map里面进行排序,但是hashmap貌似没有sort方法,需要转成List.
import java.io.*; import java.util.*; import java.util.Map.Entry; import java.text.*; import java.math.*; import java.util.regex.*; public class Solution { public static void main(String[] args) { HashMap<String,Double> hm = new HashMap<String,Double>(); hm.put("a", 6.0); hm.put("d",5.0); hm.put("b",5.0); hm.put("e",5.0); /* Iterator it = hm.entrySet().iterator(); while(it.hasNext()) { Map.Entry entry = (Map.Entry)it.next(); System.out.println("next : "+ entry.getKey() +" - "+entry.getValue()); }*/ //List<Map.Entry<Integer,Integer>> list=new ArrayList<Map.Entry<Integer,Integer>>(); List<Map.Entry<String,Double>> list=new ArrayList<>(); list.addAll(hm.entrySet()); Collections.sort(list, new Comparator<Map.Entry<String, Double>>() { public int compare(Map.Entry<String, Double> o1,Map.Entry<String, Double> o2){ if(o1.getValue().compareTo(o2.getValue())==0) return (o1.getKey().compareTo(o2.getKey())); else return (o1.getValue().compareTo(o2.getValue())); } }); for (Entry<String, Double> entry : list) { System.out.println(entry.getKey()+" "+entry.getValue()); } } }
相关文章推荐
- Java中如何实现Map的按值Value(非Key)排序
- Java中Map根据键(Key)或者值(Value)进行排序
- Java Map 按Key排序和按Value排序
- Java中Map根据键值(key)或者值(value)进行排序实现
- Java对HashMap中的Entry实体根据Key或者Value进行排序
- Java Map按键(Key)排序和按值(Value)排序
- Java中Map根据键值(key)或者值(value)进行排序实现
- Java Map按键(Key)排序和按值(Value)排序
- Java中Map根据键值(key)或者值(value)进行排序实现
- Java Map 按Key排序和按Value排序【转】【补】
- java Map 之 排序(key,value)
- Java Map 按key排序和按Value排序
- java Map排序(按key和按value)
- Redis实践(三)基于jedis开发java应用:redis的8种方式设置key,value
- java Map排序(按key和按value)
- java Map 之 排序(key,value)
- Java Map按键(Key)排序和按值(Value)排序
- 【Java】对Map按key和value分别排序
- Java中Map根据键值(key)或者值(value)进行排序实现
- Java中Map根据键值(key)或者值(value)进行排序实现