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

0 respostas
arraylist
G

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);

}
<a class="mention" href="/u/override">@Override</a>

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;
    }
}

}

Criado 25 de maio de 2020
Respostas 0
Participantes 1