首页 > Java资讯 > Java编程分享,treemap实现具体实现Demo

Java编程分享,treemap实现具体实现Demo

更新时间:2020-05-22 16:01 浏览56次 来源:动力节点


Java编程分享,treemap实现具体实现Demo


代码实现:

package day18_TreeMap;

import java.util.Scanner;
import java.util.Set;
import java.util.TreeMap;

/*
 * 需求:“aabbbcabcdabcde”,获取字符串中每一个字母出现的次数要求结果:a(5)b(4)c(3)d(2)e(1)
 * 
 * 分析:
 *      A:定义一个字符串(可以改进为键盘录入)
 *      B:定义一个TreeMap集合
 *          键:Character
 *          值:Integer
 *      C:把字符串转换为字符数组
 *      D:遍历字符数组,得到每一个字符
 *      E:拿刚才得到的字符作为键到集合中去找,看返回值
 *          Null:说明该键不存在,就把该字符作为键,1作为值存储
 *          不是Null:说明该键存在,就把值加1,然后重写存储该键和值
 *      F:定义字符串缓冲区变量
 *      G:遍历集合,得到键和值,进行按照要求拼接
 *      H:把字符串缓冲区转换为字符串输出
 *  
 * */
public class TreeMapTest {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        //定义一个字符串(可以改进为键盘录入)
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入字符串:");
        String line=sc.nextLine();
        //定义一个TreeMap集合
        TreeMap<Character, Integer> tm = new TreeMap<Character,Integer>();
        //把字符串转换为字符数组
        char [] chs=line.toCharArray();
        //遍历字符数组,得到每一个字符
        for(char key:chs){
            //拿刚才得到的字符作为键到集合中去找,看返回值
            Integer i=tm.get(key);
            //判断
            if(i==null){
                //Null:说明该键不存在,就把该字符作为键,1作为值存储
                tm.put(key, 1);
            }else{
                //不是Null:说明该键存在,就把值加1,然后重写存储该键和值
                i++;
                tm.put(key, i);
            }
        }
        //定义字符串缓冲区变量
        StringBuilder sb = new StringBuilder();
        //遍历集合,得到键和值,进行按照要求拼接
        Set<Character> set = tm.keySet();
        for(Character key:set){
            Integer value=tm.get(key);
            sb.append(key).append("(").append(value).append(")");
        }
        //把字符串缓冲区转换为字符串输出
        String result=sb.toString();
        System.out.println("result:"+result);
    }

}

Java编程分享,treemap实现具体实现Demo


以上就是动力节点java培训机构的小编针对“Java编程分享,treemap实现具体实现Demo”的内容进行的回答,希望对大家有所帮助,如有疑问,请在线咨询,有专业老师随时为你服务。


热门课程推荐

全部班型支持免费试学

动力节点在线报名表(此信息已加密,请放心填写)

返回顶部