/*
练习:
"kbashbdjsgfwhofihbfkwejhfiubjzfhaads"获取该字符串中的字母出现次数。
希望打印结果:a(3)b(4)d(2)...
通过结果发现,每一个字母都有对应的次数。、
说明字符和次数之间都有映射关系。
注意:当发现有映射关系是,可以选择map集合。
因为map集合中存放的就是映射关系。
为什么使用map集合呢?
当数据之间存在着映射关系时,就想到了map集合。
思路:
1,利用String类的charAt()方法遍历字符串中的每一个字符。
2,定义一个map,因为输出结果是有序的,所以使用TreeMap集合。
3,遍历字符串中的每个字符,判断map中是否存在此键,
若存在,则键值+1;
若不存在,则将该字符作为键存入map,并赋予键值为1.
*/
import java.util.*;
class MapTest3
{
public static void main(String[] args)
{
String str="kbashbdjsgfwhofihbfkwejhfiubjzfhaads";
TreeMap tm=new TreeMap();
for(int i=0;i<str.length();i++)
{
char ch=str.charAt(i);
if(!(tm.containsKey(ch)))
tm.put(ch,1);
else
{
int t=(int)(tm.get(ch))+1;
tm.put(ch,t);
}
}
Set s=tm.keySet();
Iterator it=s.iterator();
while(it.hasNext())
{
char chr=(char)it.next();
int num=(int)tm.get(chr);
sop(chr+"..."+num);
}
}
public static void sop(Object obj)
{
System.out.println(obj);
}
}
java Map练习-获取字符串中字母出现次数(TreeMap实现)
最新推荐文章于 2022-05-15 18:06:41 发布