package com.fh.util;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
import java.util.TreeMap;
public class TreeMapDemo {
// 统计一个字符串中相应字符出现的次数
public static List<HashMap<String, Object>> getStringCount(String s) {
// 定义 一个容器
TreeMap<String, Integer> tm = new TreeMap<String, Integer>();
// 将这TreeMap中的key全部取出来,然后储存到set集合中去
Set<String> st = tm.keySet();
// 将所需要统计的字符串转换成一个字符数组
// char[] c = s.toCharArray();
String[] c = s.split(",");
// 通过for循环逐一统计每个字符出现的次数
for (int x = 0; x < c.length; x++) {
if (!st.contains(c[x])) {
tm.put(c[x], 1);
} else {
tm.put(c[x], tm.get(c[x]) + 1);
}
}
// 调用自定义方法在控制台上输出统计信息
return printMapDemo(tm);
}
private static List<HashMap<String, Object>> printMapDemo(TreeMap<String, Integer> tm) {
// TODO Auto-generated method stub
Set<String> st = tm.keySet();
Iterator<String> ti = st.iterator();
List<HashMap<String, Object>> list = new ArrayList<HashMap<String, Object>>();
for (; ti.hasNext();) {
String key = ti.next();
HashMap<String, Object> map = new HashMap<>();
map.put(key, tm.get(key));
list.add(map);
}
return list;
}
}