赞
踩
- import java.util.HashMap;
- import java.util.Map;
- import java.util.Scanner;
- import java.util.Set;
- import org.junit.Test;
- /* Java案例——统计字符串中每个字符串出现的次数 */
- public class Lianxi03{
- @Test
- public void test01() {
- //输入一个字符串
- Scanner sc = new Scanner(System.in);
- String str = sc.next();
-
- //创建一个集合对象,键值对的类型分别为Character,Integer,分别用于保存字符和字符的次数
- Map<Character,Integer> map = new HashMap<Character,Integer>();
- //字符串改为字符数组
- char[] array = str.toCharArray();
- //遍历数组,得到每一个字符
- for(Character c:array) {
- if(map.containsKey(c))//先判断集合中是否存在某一个字符,字符作为key,如果存在,则获取其
- //对应的value,也就是字符的次数,然后字符的次数加1
- {
- Integer num = map.get(c);//得到value,也就是字符对应的次数,
- num++;//此时该字符的数目需要加1
- //得到字符的新的数目过后,需要添加到集合对应字符的value中去,此时需要重新键-值对,
- map.put(c, num);
- }else {//此一步表示集合没有该该字符,也就是集合中不存在以c为键值的Key,需要将该字符作为键保存在集合中去,并
- //赋值value为1
- map.put(c, 1);
- }
- }
- //以上步骤完成了字符串的个数统计,每个字符串以及其对应的个数作为键值对保存到map中去了,
- //遍历map,首先获取map的键(key)集合
- Set<Character> set = map.keySet();
- for(Character c:set) {//遍历key集
- System.out.println(c+"-------->"+map.get(c));
- }
-
- }
- }
- bjkdskj
- b-------->1
- s-------->1
- d-------->1
- j-------->2
- k-------->2
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。