TreeMap基本练习:获取某字符串中的字母出现的次数
来源:互联网 发布:java io 装饰器模式 编辑:程序博客网 时间:2024/03/29 21:14
package map;
import java.util.*;
public class MapDemo5 {
/**
* @练习:
* "sdfgzxcvasdfxcvdf"获取该字符串中的字母出现的次数
*
* 希望打印结果:a(1)c(2)........
*
* 通过结果发现,每一个字母都有对应的次数
* 说明字母和次数之间都有映射关系。
*
* 注意了,当发现有映射关系时,可以选择使用map集合。
* 因为Map集合中存放的就是映射关系。
*
* 为什么使用map集合呢?
* 当数据之间存在映射关系时,就要先想到map集合。
*
* 思路:
* 1.将字符串转换成字符数组,因为要对每一个字母进行操作。
* 2.定义一个map集合,因为打印结果的字母有顺序,所以使用treemap集合。
* 3.遍历字符数组:
* 将每一个字母作为键去查map集合。
* 如果返回null,将该字母和1存入map集合中。
* 如果返回不是null,说明该字母在map集合中已经存在并有对应的次数。
* 那么就获取该次数并进行自增,然后将该字母和自增后的次数存入到map集合中,覆盖调用原理键所对应的值。
* 4.将map集合中的数据变成指定的字符串形式返回。
*/
public static void main(String[] args) {
String s = charCount("aabcd=-abcdef$a");
System.out.println(s);
}
public static String charCount(String str){
char[] chs = str.toCharArray();
TreeMap<Character,Integer> tm = new TreeMap<Character,Integer>();
int count =0;
for(int x= 0;x<chs.length;x++){
if(!(chs[x]>='a' && chs[x]<='z' || chs[x]>='A' && chs[x]<='Z'))
continue;
Integer value = tm.get(chs[x]);
//方式一:
if(value!=null)
count = value;
count++;
tm.put(chs[x], count);
count = 0 ;
//方式二
/*
if(value==null){
tm.put(chs[x], 1);
}
else{
value = value+1;
tm.put(chs[x],value);
}
*/
}
//System.out.println(tm);
StringBuilder sb = new StringBuilder();
Set<Map.Entry<Character, Integer>> entrySet = tm.entrySet();
Iterator<Map.Entry<Character, Integer>> it = entrySet.iterator();
while(it.hasNext()){
Map.Entry<Character, Integer> me = it.next();
Character ch = me.getKey();
Integer value = me.getValue();
sb.append(ch+"("+value+")");
}
return sb.toString();
}
}
- TreeMap基本练习:获取某字符串中的字母出现的次数
- TreeMap获取该字符串中的每个字母出现的次数
- 黑马程序员_集合TreeMap练习:获取某一字符串的字母出现的次数
- TreeMap获取字符串中字母出现次数
- 集合(TreeMap练习-字母出现的次数)
- TreeMap练习—字母出现的次数
- 代码训练营——TreeMap(获取该字符串中的字母出现的次数)
- java Map练习-获取字符串中字母出现次数(TreeMap实现)
- 黑马程序员—TreeMap练习-字母出现的次数
- JAVA 获取字符串中每一个字母出现的次数 TreeMap 解
- java 获取字符串中的字母出现的次数
- "asdddfgghdsadadf"获取该字符串中的字母出现的次数
- Java Map集合获取字符串中的字母出现的次数
- 获取字符串中字母出现的次数
- 获取字符串中每个字符出现的次数(利用TreeMap)
- 集合框架——TreeMap练习(字母出现的次数)
- 黑马程序员——获取该字符串中的字母出现的次数
- 黑马程序员_获取字符串 字母出现的次数
- TreeMap练习:对学生对象的姓名进行升序排序
- 程序员面试金典(1) 字符串是否所有字符不同
- Java 中的equals
- Android studio 导入github工程
- 关于Executor 接口
- TreeMap基本练习:获取某字符串中的字母出现的次数
- 3.1 字符串移位包含的问题
- NPOI 在 System.IO.FileNotFoundException 中第一次偶然出现的“mscorlib.dll”类型的异常
- swagger-UI使用之app服务器(JavaApplication)
- 肖鑫铭:美指走低支撑避险,金银受益冲高回落
- listview自定义布局
- js实现修改文件(图片)路径
- Android EditText 清空按钮 小经验
- Thinking in java 个人笔记 第五章(持续更新ing)