Retornando um array com as posições marcadas

Boa tarde…seguinte, eu tenho que fazer um método que se chama verificaLetra, este método funciona da seguinte maneira, ele recebe como parâmetro um caractere, retornando um array com as
posições onde se encontra esse caractere marcadas de alguma forma.

Pois bem, os meus atributos dessa classe são: palavra e dica.

A finalidade desse método é para eu fazer um jogo da forca. Mas eu não to sabendo como fazer, alguém pode me dar uma mão?

Sempre, antes de começar a escrever algum código, bole o teste dele.

Por exemplo, digamos que a palavra escondida seja “abracadabra” e a letra seja ‘a’. O que esse método deve retornar?

Se entendi corretamente, seria algo deste tipo:

    public ArrayList<Integer> verificaLetra(String palavra, char dica) {
        ArrayList<Integer> result = new ArrayList<>();
        
        palavra = palavra.toLowerCase();
        dica = Character.toLowerCase(dica);
        
        for (int i = 0; i < palavra.length(); i++){
            Character c = palavra.charAt(i);
            if (c.equals(dica)){
                result.add(i);
            }
        }        
        return result;
    }

    @Test
    public void testVerificaLetra(){
        ArrayList<Integer> list = verificaLetra("abraca", 'a');
        
        System.out.println("result = "+list);
    }

    output: result = [0, 3, 5]

O tamanho do arrayList indica a quantidade de ocorrências da letra na palavra e seu elemento com o índice da letra.