集合HashMap来统计单个字在字符串中出现的次数(用hashmap来统计)

/*
* 统计单个字在字符串中出现的次数(用hashmap来统计)
*
* 分析 :
* 1.先建立一个字符串
* 2.把字符串转换为数组
* 3.创建一个hashmap
* 4.遍历数组,得到每个字符
* 5、拿得到的字符作为健到集合中去找值。得到返回值
* 是null:把字符作为键,1为值存入集合
* 不是null: 则把值加1重新写入集合
* 6.遍历输出
*
*/

import java.util.HashMap;
import java.util.Map.Entry;
import java.util.Set;
/**
 * 统计单个字在字符串中出现的次数(用hashmap来统计)
 * @author ma
 *
 */
public class HashMapDemo5 {

	/*
	 * 统计单个字在字符串中出现的次数(用hashmap来统计)
	 *
	 * 分析 :
	 * 		1.先建立一个字符串
	 * 		2.把字符串转换为数组
	 * 		3.创建一个hashmap
	 * 		4.遍历数组,得到每个字符
	 * 		5、拿得到的字符作为健到集合中去找值。得到返回值
	 * 			是null:把字符作为键,1为值存入集合
	 * 			不是null: 则把值加1重新写入集合
	 * 		6.遍历输出
	 *
	 */

	public static void main(String[] args) {
		//1.先建立一个字符串
		String str = "真真真真真slkg在jfsjsht中j中ghr中国lsh你izx你lf在hfnaj产产产科";

		//2.把字符串转换为数组
		char[] charArr = str.toCharArray();
		//3.创建一个hashmap
		HashMap<Character, Integer> hm = new HashMap<Character, Integer>();
		//4.遍历数组,得到每个字符
		for (int i = 0; i < charArr.length; i++) {

			//5、拿得到的字符作为健到集合中去找值。
			Integer value = hm.get(charArr[i]);

			if(value ==null){
				//是null:把字符作为键,1为值存入集合,
				hm.put(charArr[i], 1);
			}else{
				//得到返回值不是null: 则把值加1重新写入集合
				value ++;
				hm.put(charArr[i], value);
			}

		}

		//6.遍历输出
		Set<Entry<Character, Integer>> set = hm.entrySet();

		for (Entry<Character, Integer> entry : set) {
			System.out.println(entry);
		}

	}

}

  输出结果:

    你=2
    a=1
    f=3
    g=2
    产=3
    在=2
    h=4
    i=1
    j=4
    k=1
    l=3
    中=3
    n=1
    科=1
    r=1
    s=4
    t=1
    x=1
    z=1
    国=1
    真=5

原文地址:https://www.cnblogs.com/majingang/p/9030586.html

时间: 2024-08-29 15:20:44

集合HashMap来统计单个字在字符串中出现的次数(用hashmap来统计)的相关文章

mysql 统计一个字符在字符串中出现的次数

CREATE  FUNCTION `str_pcount`(str varchar(255),p varchar(255)) RETURNS int(11)BEGIN    #统计一个字符在字符串中出现的次数      RETURN LENGTH(str) - LENGTH(REPLACE(str,p,''));END; 原文地址:https://www.cnblogs.com/snake23/p/9838241.html

C#统计一个字符在字符串中出现的次数

//第一种方法,IndexOf和LastIndexOf查找后Substring截取 string s = "aaabbbcccXXXYYY"; int index = s.IndexOf("X");//第一次X出现的位置 int last = s.LastIndexOf('X');//最后一次X出现的位置 int num = s.Substring(index,last+1-index).Length;//截取出现的位置求长度 Console.WriteLine(n

java统计一个子串在指定字符串中出现的次数

今天查着用了用String类里的几个方法,分享下代码 题目要求:统计一个子串在指定字符串中出现的次数( 提示java字串出现了6次) 1 public class SearchSameString { 2 3 public static void main(String[] args) { 4 // 定义俩个字符串 5 String shortStr = "java"; 6 String longStr = "javasdfjavawerjavavsswetjavadfgdf

Java实现统计某字符串在另一个字符串中出现的次数

面试时会经常考这样的题目,估计也不让使用正则表达式.还好这个算法还算简单,不过在草稿纸上写难免会出现运行异常,好吧,面试官赢了,乃们屌丝就实实在在的把代码码出来吧. 下面是实现代码: /** * 统计某字符串在另一个字符串中出现的次数 * * */ public class CountHit { public static void main(String[] args) { String a = "123456abcde6ab"; String b = "6abc"

统计某字符串在另一个字符串中出现的次数

1 /** 2 * 统计某字符串在另一个字符串中出现的次数 3 * 4 * 5 */ 6 public class CountHit { 7 public static void main(String[] args) { 8 String a = "123456abcdde6abcbcb"; 9 String b = "6abc"; 10 System.out.println(new CountHit().hit(a, b)); 11 } 12 13 /** 14

请编写程序,统计键盘录入的字符串中出现了几次字符串”java”,并测试

import java.util.Scanner;public class StringBufferText {//main方法public static void main(String[] args) {br/>@SuppressWarnings("resource")//键盘录入Scanner sc=new Scanner(System.in);//字符串数据的导入System.out.println("请您输入一个字符串:");String str=s

统计小字符串在大字符串中出现的次数

public class StringDemo { public static void main(String[] args) { String bigString = "javajava I love java l like jajavava I enjoy javajavajava"; String smallString = "java"; int count=getCount(bigString,smallString); System.out.print

一个字符串中连续出现次数最多的子串【转】一个字符串中连续出现次数最多的子串【转】

问题描述: 求一个字符串中连续出现次数最多的子串,子串的长度可以是 1 . 分析问题: 乍一看,好像无处下手.简单的穷举效率太低,随着输入的文本增长,时间复杂度和空间复杂度就会火箭般窜升至无法接受的地步. 我们需要寻找规律. 假设存在一个长度为 N 的子串 S 出现的次数最多.那么它具有哪些特点呢? S 的任一子串的出现次数不少于 S 的出现次数 S 中不会出现重复的子串字符 S 中不会出现重复的字符 组成 S 的每一个字符.每一个子串的出现次数都和 S 一样 “S 中不会出现重复的字符”,“组

js如何计算一个字符在字符串中出现的次数

js如何计算一个字符在字符串中出现的次数:在实际应用中可能要计算一个字符在字符串中出现的次数,实现此功能的方式有多种,下面就介绍一个非常简单的方式.代码实例如下: function func(str,char) { var str=str; var num=(str.split(char)).length-1; return num } document.write(func("abcdefga","a")); 以上代码可以实现计算一个字符串中指定字符出现的次数.相