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()方法将输入字符串分解为字符。