/* 练习: "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); } }
时间: 2024-09-30 07:03:40