使用 Java Stream API 统计字符串中给定字符的出现次数


简介

在本教程中,我们将实现一种方法,使用 Java 中的 Stream API 统计特定字符在一个字符串中出现的次数。字符串是字符的集合,我们将使用 String 类的方法来分离字符串字符。

我们将接收一个输入字符串,并定义要计数的字符。此方法中使用的函数是 String 类的 chars() 方法和 Stream 接口的 filter() 方法。

  • char() = 它是 String 类的一个实例方法。它返回 intstream 值。该流包含字符串中字符的代码点值。

  • filter() = 用于考虑预测值。它有助于选择所需的数值流。

Java 中的 Stream API 是在 Java 8 中引入的,它是一组类和对象。此方法简化了对象处理过程,并提高了代码的可读性。它通过其各种方法和管道流程,为 Java 程序员提供了处理复杂任务的灵活性。

示例 1

String = “tutorialspoint”
Character = t

输出

字符“t”在输入字符串中出现 4 次。

在上面的示例中,输入字符串为“tutorialspoint”。任务是计算字符“t”在输入字符串中出现的次数。我们可以看到,“t”在字符串中出现了 4 次。

示例 2

String = “Helloworld”
Character = “e”

输出

= 1

在上面的示例中,输入字符串为“Helloworld”,字符为“e”。任务是计算字符“e”在字符串中的重复次数。“e”在输入字符串中只出现 1 次。

  • chars().filter() − 它是 String 类库函数,返回参数字符串的字符值流。filter() 方法与它一起限制不需要的字符流。

string_name.chars().filter()
  • count() − 它计算流字符并返回它们的个数。调用 Java Stream 接口的 count() 方法后,将无法访问该流。

long count() 

算法

  • 获取输入字符串。

  • 定义所需的字符并查找其在输入字符串中的出现次数。

  • 使用 Stream API 的 filter() 方法去除不匹配的字符。

  • 使用 String 类的 chars() 方法将字符串转换为字符。

  • 打印输出。

逻辑示例 1

我们将使用 Java 实现上述示例,输入字符串为“tutorialspoint”,并计算字符“t”的出现次数。为了实现此示例,我们将使用一些列出的库函数:

import java.util.stream.*;
  
public class GFG {
   // Method that returns the count of the given
   // character in the string
   public static long count(String st, char chr){
      return st.chars().filter(ch -> ch == chr).count();
   }
  
   // Driver method
   public static void main(String args[]){
      String st = "tutorialspoint";
      char ch = 't';
      System.out.println("The occurrence of t in the string is:");
      System.out.println(count(st, ch));
   }
}

输出

The occurrence of t in the string is:
3

逻辑示例 2

import java.util.stream.IntStream;
public class CharacterCounter{
   public static void main(String[] args) {
      String s = "Hello, World!";
      char c = 'o';

      long cnt = countOccurrences(s, c);
      System.out.println("Occurrences of '" + c + "': " + cnt);
   }
   public static long countOccurrences(String s, char c){
      return s.chars().filter(ch -> ch == c).count();
   }
}

输出

Occurrence of ‘o’ : 2

结论

在本教程中,我们学习了 Java 中的流处理。我们编写了代码和两种逻辑来查找输入字符串中的特定字符。我们使用了 chars() 和 filter() 方法来实现示例,以查找给定字符串中特定字符的出现次数。

Stream 类的 filter() 方法过滤掉输入字符串中不需要的字符。String 类的 chars() 方法将输入字符串分割成字符。

更新于:2023年7月31日

6000+ 次浏览

开启你的职业生涯

完成课程获得认证

开始学习
广告