例:
//将List中每个元素的重复次数放入map中
public static Map testSplit(List list){ int mapinI = 1; String firString= null; if(list.size()>=1){ firString =list.get(0).toString(); map.put(firString,mapinI); list.remove(0); } int i= 0; for( ;i<list.size();i++) { String falgString = list.get(i).toString(); if(falgString.equals(firString)){ // 加了后去掉 mapinI=mapinI+1; map.put(firString,mapinI); list.remove(i); i=-1; } } if(list.size()>=1){ // 递归 testSplit(list); } return map ; }
2,将Map进行排序
//对map进行排序(根据value) public static ArrayList<Map.Entry<String,Integer>> sorMap(Map map){ ArrayList<Map.Entry<String,Integer>> entries = new ArrayList<Map.Entry<String,Integer>>(map.entrySet()); Collections. sort(entries , new Comparator<Map.Entry<String, Integer>>() { public int compare(Map.Entry<String, Integer> o1, Map.Entry<String, Integer> o2) { return (o2.getValue() - o1.getValue()); } }); return entries; }
3,进行调用
public static void main(String[] args) { List<String> list= new ArrayList<String>(); list=getList(); //获取List Map cache=testSplit(list); ArrayList<Map.Entry<String,Integer>> entries = sorMap(cache); for(Map.Entry<String,Integer> e : entries) { System. out.println(e.getKey() + ":" + e.getValue()); } }