- package day0428;
- import java.util.Comparator;
- import java.util.Set;
- import java.util.TreeMap;
- /*
- * 取出一个字符串中字母出现的次数。
- * 如:字符串:"abcdekka27qoq" ,输出格式为:a(2)b(1)k(2)...
- */
- public class Collection_11 {
- public static void main(String[] args) {
- //创建一个TreeMap集合,key位放字符,value放出现的次数
- TreeMap<Character,Integer> tm= new TreeMap<Character, Integer>();
- String s="abcdekka27qoq";
- char[] chs=s.toCharArray();
- //遍历数组,判断集合中是否含数组中的元素,不含,放入集合;含元素,key不变,value加1
- for(char ch: chs){
- Integer in= tm.get(ch);
- if(in==null){
- tm.put(ch,1);
- }
- else{
- in++;
- tm.put(ch, in);
- }
- }
- // 拼接集合中key位和value位的元素
- StringBuffer sb= new StringBuffer();
- Set<Character> set= tm.keySet();
- for(Character key: set){
- Integer i= tm.get(key);
- sb.append(key).append("(").append(i).append(")");
- }
- System.out.println(sb.toString());
- }
- }
复制代码 |