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

javaobject oriented programmingprogramming更新于 2024/11/3 22:36:17

简介

在本教程中,我们将使用 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

字符串 = "Helloworld"
字符 = "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 {
    // 返回字符串中给定字符的计数的方法
    public static long count(String st, char chr){
      return st.chars().filter(ch -> ch == chr).count();
   }
    
    // 驱动程序方法
   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() 方法将输入字符串分成字符。


相关文章


有用资源