java常用的统计字符串字符 个数的方法总结

package com.cdu.dj.mystring;

import java.util.HashMap;
import java.util.HashSet;
import java.util.Map.Entry;
import java.util.Scanner;
import java.util.Set;

public class Test {

	/**
	 * 
	 * 输入字符串判断出现的字符个数
	 * @param args
	 */
	public static void main(String[] args) {
		/**
		 * 使用双重for循环
		 */
		//		Scanner scan = new Scanner(System.in);
		//		String str = scan.next();
		//
		//
		//		char [] charArray = str.toCharArray();
		//		for(int i =0 ;i<charArray.length;i++){
		//			char e = charArray[i];
		//			int num =0;
		//			//adsdadaa
		//			if(str.substring(0, i).indexOf(e)<0){
		//				for(int j =i;j<charArray.length;j++){
		//
		//					if(str.charAt(j)==e){
		//						num++;
		//					}
		//				}
		//				System.out.println(e+"---"+num);
		//			}
		//		}
		/**
		 * 使用双重HashSet查询字符串中的字符个数
		 * 
		 */
		//		Scanner scan = new Scanner(System.in);
		//		String str = scan.next();
		//		char [] charArray = str.toCharArray();
		//		
		//		HashSet<Character> set = new HashSet<>();
		//		//
		//		for(Character c :charArray){
		//			set.add(c);
		//		}
		//		for (Character d : set) {
		//			int a =0;
		//			for(Character c :charArray){
		//				if(c==d){
		//					a++;
		//				}
		//			}
		//			System.out.println(d+"-"+a);
		//			
		//		}
		/**
		 * 
		 * 使用Map进行
		 */
		Scanner scan = new Scanner(System.in);
		String str = scan.next();
		char [] charArray = str.toCharArray();
		HashMap<Character,Integer> map= new HashMap<>();
		for (char c : charArray) {
			if(map.containsKey(c)){
				Integer value = map.get(c);
				map.put(c,++ value);
			}else{
				map.put(c, 1);
			}
		}
		//遍历
		Set<Entry<Character, Integer>> entrySet = map.entrySet();
		for (Entry<Character, Integer> entry : entrySet) {
			Character key = entry.getKey();
			Integer value = entry.getValue();
			System.out.println(key+"---"+value);
		}
		
	}
}

    

猜你喜欢

转载自blog.csdn.net/qq_41813207/article/details/80180097