Рекурсивный метод для подсчета вхождений символа в ArrayList в Java

Чтобы рекурсивно подсчитать количество вхождений символа в ArrayList, вы можете использовать следующий метод:

Метод 1: использование рекурсивной функции

import java.util.ArrayList;
public class CharacterCounter {
    public static int countOccurrences(ArrayList<Character> arrayList, char target) {
        if (arrayList.isEmpty()) {
            return 0;
        } else {
            char first = arrayList.get(0);
            arrayList.remove(0);
            int count = countOccurrences(arrayList, target);
            if (first == target) {
                count++;
            }
            return count;
        }
    }
    public static void main(String[] args) {
        ArrayList<Character> arrayList = new ArrayList<>();
        arrayList.add('a');
        arrayList.add('b');
        arrayList.add('a');
        arrayList.add('c');
        arrayList.add('a');
        char target = 'a';
        int occurrences = countOccurrences(arrayList, target);
        System.out.println("Number of occurrences of '" + target + "': " + occurrences);
    }
}

Объяснение:
Метод countOccurrencesпринимает массив символов ArrayList (arrayList) и целевой символ (target). Он рекурсивно подсчитывает количество вхождений целевого символа в ArrayList.

Метод сначала проверяет, пуст ли ArrayList. Если это так, это означает, что элементов для проверки больше нет, поэтому возвращается 0.

Если ArrayList не пуст, он извлекает первый символ из ArrayList и удаляет его. Затем он рекурсивно вызывает метод countOccurrencesс обновленным ArrayList.

Рекурсивный вызов возвращает количество вхождений целевого символа в остальные элементы ArrayList. Если первый символ равен целевому символу, счетчик увеличивается на 1.

Наконец, метод возвращает общее количество вхождений.

В методе mainсоздается пример ArrayList с некоторыми символами, а целевым символом устанавливается значение «a». Вызывается метод countOccurrencesи выводится результат.