21xrx.com
2025-07-16 02:31:51 Wednesday
登录
文章检索 我的文章 写文章
Java 字符串中出现次数最多的字符重复次数
2023-07-05 06:06:19 深夜i     10     0
Java 字符串 出现次数最多的字符 重复次数

Java 是一门广泛使用的编程语言,涉及的功能非常丰富。其中字符串处理是其重要的功能之一。在字符串中,我们可以找到出现次数最多的字符,以此为例,本文将会介绍如何使用 Java 找到字符串中出现次数最多的字符的重复次数。

Java 中有多种方法可以实现此功能,最常见的方法如下:

- 使用 HashMap:将字符串中的每个字符作为键存储在 HashMap 中,并将该字符在字符串中出现的次数作为值存储在 HashMap 中。然后,遍历 HashMap,找到出现次数最多的字符。这种方法的时间复杂度为 O(n)。

代码示例:

public static int findMostRepeatedCharWithHashMap(String str) {
  Map<Character, Integer> charMap = new HashMap<>();
  char[] charArr = str.toCharArray();
  for (char ch : charArr) {
    if (charMap.containsKey(ch)) {
      charMap.put(ch, charMap.get(ch) + 1);
    } else {
      charMap.put(ch, 1);
    }
  }
  int maxCount = 0;
  for (int count : charMap.values()) {
    maxCount = Math.max(maxCount, count);
  }
  return maxCount;
}

- 使用数组:创建一个大小为 256 的 int 类型数组,表示 ASCII 字符集的所有字符。遍历字符串中的每个字符,将该字符在 ASCII 表中的数值作为数组下标进行累加。最终,找到数组中最大的值即可。这种方法的时间复杂度为 O(n)。

代码示例:

public static int findMostRepeatedCharWithArray(String str) {
  int[] charCount = new int[256];
  char[] charArr = str.toCharArray();
  for (char ch : charArr) {
    charCount[ch]++;
  }
  int maxCount = 0;
  for (int count : charCount) {
    maxCount = Math.max(maxCount, count);
  }
  return maxCount;
}

无论是使用 HashMap 还是数组,Java 都提供了非常方便的实现方法。通过使用这些方法,我们可以轻松地找到字符串中出现次数最多的字符的重复次数。如果您在工作中需要处理字符串,这些方法可能会对您有所帮助。

  
  

评论区

    相似文章