Java 内置方法 - 字符串中出现字符



是否有java内置方法来计算字符串中字符的出现次数?例如: s= "Hello My name is Joel"l的出现次数为 3

谢谢

没有这样的方法,但你可以这样做:

String s = "Hello My name is Joel";
int counter = 0;
for( int i=0; i<s.length(); i++ ) {
    if( s.charAt(i) == 'l' ) {
        counter++;
    } 
}

(来自计算字符串中字符出现的简单方法的代码)

如果要

计算特定字符串中出现多个字符的次数,则字符与其在字符串中的出现次数的映射将是一个不错的选择。在这种情况下,将如何实现解决方案:

import java.util.HashMap;
import java.util.Map;
public class CharacterMapper
{
  private Map<Character, Integer> charCountMap;
  public CharacterMapper(String s)
  {
    initializeCharCountMap(s);
  }
  private void initializeCharCountMap(String s)
  {
    charCountMap = new HashMap<>();
    for (int i = 0; i < s.length(); i++)
    {
      char ch = s.charAt(i);
      if (!charCountMap.containsKey(ch))
      {
        charCountMap.put(ch, 1);
      }
      else
      {
        charCountMap.put(ch, charCountMap.get(ch) + 1);
      }
    }
  }
  public int getCountOf(char ch)
  {
    if (charCountMap.containsKey(ch))
      return charCountMap.get(ch);
    return 0;
  }
  public static void main(String[] args)
  {
    CharacterMapper ob = new CharacterMapper("Hello My name is Joel");
    System.out.println(ob.getCountOf('o')); // Prints 2
  }
}

最新更新