TreeMap小应用

xiaoxiao2021-02-27  278

今天看到一个小的题目,人家实现的很好,写出来大家共享

需要如下: 实现字符串“thinkinginjavaisaveryusefullbook”输出字母次数统计 想要的结果:a(3)b(1)e(2)…

String str ="thinkinginjavaisaveryusefullbook"; char[] ch = str.toCharArray(); // 转数组 Map<Character, Integer> map = new TreeMap<Character,Integer>(); for (int i = 0; i < ch.length; i++) { Integer value = map.get(ch[i]); if (value==null) { map.put(ch[i],1); } else { value += 1; // 有相同,则加一 map.put(ch[i],value); } } StringBuilder sb = new StringBuilder(); Iterator<Entry<Character, Integer>> it = map.entrySet().iterator(); while (it.hasNext()) { // 遍历map Entry<Character, Integer> en = it.next(); Character key = en.getKey(); Integer value = en.getValue(); sb.append(key+"("+value+")"); } System.out.println(sb); 输出结果: a(3)b(1)e(2)f(1)g(1)h(1)i(4)j(1)k(2)l(2)n(3)o(2)r(1)s(2)t(1)u(2)v(2)y(1) 若用HashMap, 输出结果: f(1)g(1)e(2)b(1)a(3)n(3)o(2)l(2)j(1)k(2)h(1)i(4)v(2)u(2)t(1)s(2)r(1)y(1)
转载请注明原文地址: https://www.6miu.com/read-10504.html

最新回复(0)