如何实现Java indexOf返回多个

1. 整体流程

要实现Java indexOf返回多个,首先需要将待匹配的字符串通过indexOf方法找到第一个匹配位置,然后循环查找后续匹配位置,最终将所有匹配位置保存到一个集合中返回。

流程步骤如下:

步骤 描述
1 定义一个方法,接收待匹配的字符串和匹配的子字符串
2 使用indexOf方法找到第一个匹配位置
3 循环查找后续匹配位置,直至找不到为止
4 将匹配位置保存到一个集合中
5 返回保存匹配位置的集合

2. 代码实现

第一步:定义方法

public List<Integer> findAllIndexes(String str, String subStr) {
    List<Integer> indexes = new ArrayList<>();
    int index = str.indexOf(subStr);
    while (index >= 0) {
        indexes.add(index);
        index = str.indexOf(subStr, index + 1);
    }
    return indexes;
}
  • 代码解释:定义了一个名为findAllIndexes的方法,接收一个待匹配的字符串str和一个匹配的子字符串subStr,返回一个List类型的集合,保存所有匹配位置的索引。

第二步:调用方法

String text = "java is a programming language, java is popular.";
String subStr = "java";
List<Integer> indexes = findAllIndexes(text, subStr);
for (Integer index : indexes) {
    System.out.println("Found at index: " + index);
}
  • 代码解释:定义了一个待匹配的字符串text和一个匹配的子字符串subStr,然后调用findAllIndexes方法找到匹配位置并输出。

3. 状态图

stateDiagram
    [*] --> 找到第一个匹配位置
    找到第一个匹配位置 --> 循环查找后续匹配位置
    循环查找后续匹配位置 --> 找到所有匹配位置
    找到所有匹配位置 --> [*]

结尾

以上就是实现Java indexOf返回多个的整体流程和代码实现。通过以上步骤,你可以轻松地找到一个字符串中某个子字符串的所有匹配位置。希望这篇文章对你有所帮助,加油!