Deverá devolver a primeira posição da lista que se encontra o objeto pessoa recebido pelo parâmetro

Alguém pode me ajudar a implementar um código? preciso adicionar um método que
deverá devolver a primeira posição da lista que se encontra o objeto pessoa
recebido pelo parâmetro. Caso este objeto não seja encontrado, o valor devolvido será -1
(menos 1). Abaixo encontra-se a estrutura que deverá ser utilizada por este método.

public int posicao(Pessoa pessoa){
}

Código a ser implementado:

package lista.vetorizada;

public class ListaVetor {

// Declarando e Inicializando um array de Aluno com capacidade 100.
private Pessoa[] pessoas = new Pessoa[100];
private int total_de_pessoas = 0;


public void adiciona(Pessoa pessoa) {

// this.aumentaEspaco();
this.pessoas[this.total_de_pessoas] = pessoa;
this.total_de_pessoas++;
}

public void adiciona(int posicao, Pessoa pessoa) {

// this.aumentaEspaco();
if(this.posicaoValida(posicao)){
for(int i = this.total_de_pessoas - 1; i >= posicao; i–)
this.pessoas[i + 1] = this.pessoas[i];

        this.pessoas[posicao] = pessoa;
        this.total_de_pessoas++;
    }else
        throw new IllegalArgumentException("Posição Inválida");
}

public Pessoa pega(int posicao) {
    if(this.posicaoOcupada(posicao))
        return (this.pessoas[posicao]);
    else
        throw new IllegalArgumentException("Posição Inválida");
}

public void remove(int posicao) {
    if (this.posicaoOcupada(posicao)) {
        for (int i = posicao; i < this.total_de_pessoas - 1; i++) {
            this.pessoas[i] = this.pessoas[i + 1];
        }
        this.total_de_pessoas--;
    }else
        throw new IllegalArgumentException("Posição Inválida");
}

public boolean contem(Pessoa pessoa){
    for(int i = 0; i < this.total_de_pessoas; i++)
        if(this.pessoas[i].equals(pessoa))
            return(true);
    
    return(false);

}

public int tamanho(){
return(this.total_de_pessoas);
}

@Override
public String toString() {
String saida = “[]”;
if (this.total_de_pessoas != 0) {
saida = “[”;
for(int i = 0; i < this.total_de_pessoas - 1; i++) {
saida += this.pessoas[i] + ", ";
}
saida += this.pessoas[this.total_de_pessoas - 1];
saida += “]”;
}
// saida += " - tamanho = " + this.pessoas.length;
return (saida);
}

/* Métodos Privados */

private boolean posicaoValida(int posicao){
    return(posicao >= 0 && posicao <= this.total_de_pessoas);
}

private boolean posicaoOcupada(int posicao){
    return(posicao >= 0 && posicao < this.total_de_pessoas);
}
/* Usado para aumentar o vetor em 30 posições quando este ficar cheio */

private void aumentaEspaco(){
    if(this.total_de_pessoas == this.pessoas.length){
        Pessoa[] novoVetor = new Pessoa[this.pessoas.length + 30];
        for(int i = 0; i < this.pessoas.length; i++)
            novoVetor[i] = this.pessoas[i];
        
        this.pessoas = novoVetor;
    }
}

}