Como Remover elemento de um array list em java e atualizar a lista?

8 respostas
Tecnica

Podem me ajudar, como faço pra remover um elemento ja gravado em uma ARRAYLIST em java já que usa objetos.

8 Respostas

G

Ola, tudo bem?
Não sei se entendi bem, mas para remover objetos do ArrayList você pode usar o método remove passando o objeto: list.remove(Objeto);

staroski

meuObjetoDoTipoArrayList.remove( objetoQueQueroRemoverDaLista );

ou

meuObjetoDoTipoArrayList.remove( posiçãoDoObjetoQueQueroRemoverDaLista );

Tecnica

Olá, ajudou e muito, obrigada.:grinning:

Tecnica

deu certo obrigada.

F
Como eu posso retirar 2 ou mais elementos.

meuObjetoDoTipoArrayList.add(new Pessoa());

meuObjetoDoTipoArrayList.add(new Pessoa(Iza));

meuObjetoDoTipoArrayList.add(new Pessoa(Damião));

meuObjetoDoTipoArrayList.add(new Pessoa(zélia));

Se eu quiser retirar o primeiro e o quarto itens?

F

package funcao;

import java.util.ArrayList;

import java.util.Collections;

import java.util.Comparator;

import java.util.List;
import funcao.lib.Operacao;

import funcao.lib.Particula;

import funcao.lib.Signal;

import funcao.lib.Variavel;

public class Funcao {

private List<Particula> particula;

public Variavel getVariavel() {
	return variavel;
}

public void elimina(int i) {
	Particula p = particula.get(i);
	particula.remove(p);
}

}

package funcao;

import java.util.ArrayList;

import java.util.Iterator;

import java.util.List;

import funcao.lib.Particula;
import funcao.lib.Variavel;

public class OperacaoPolinomios {

public static void main(String[] args) {
	Variavel val = new Variavel("x");
	Funcao funcao1 = new Funcao("-3x^2-1", val);
	Funcao funcao2 = new Funcao("x^2-2x+1", val);
	OperacaoPolinomios op = new OperacaoPolinomios();
	Funcao resultado = op.soma(funcao1, funcao2);
	System.out.println(funcao1 + "+(" + funcao2 + ")= " + resultado);
}
public Funcao soma(Funcao eq1, Funcao eq2) {

List particula = new ArrayList();

Variavel v = eq1.getVariavel();

List eq1Exclude = new ArrayList();

List eq2Exclude = new ArrayList();
for (int i = 0; i <= eq1.totalTermos() - 1; i++) {
		for (int j = 0; j <= eq2.totalTermos() - 1; j++) {
			if (eq1.getParticula(i).getElevado() == eq2.getParticula(j).getElevado()) {
				double resultadoAntecedentes = eq1.getParticula(i).getAntecedente()
						+ eq2.getParticula(j).getAntecedente();
				if (resultadoAntecedentes != 0) {
					particula.add(new Particula(resultadoAntecedentes, eq1.getParticula(i).getElevado(), v));
					eq1Exclude.add(i);
					eq2Exclude.add(j);
				}
			}
		}
	}

	List<Particula> da1 = eq1.getParticulas();
	List<Particula> da2 = eq2.getParticulas();

	for (int i = 0; i <= eq1Exclude.size() - 1; i++) {
		System.out.println(eq1Exclude.get(i));
	}

	for (int i = 0; i <= eq2Exclude.size() - 1; i++) {
		eq2.elimina(eq2Exclude.get(i));
	}

	for (int i = 0; i <= eq1.totalTermos() - 1; i++) {
		particula.add(eq1.getParticula(i));
	}

	for (int i = 0; i <= eq2.totalTermos() - 1; i++) {
		particula.add(eq2.getParticula(i));
	}

	eq1 = new Funcao(da1);
	eq2 = new Funcao(da2);

	return new Funcao(particula);
}

}

F

Não estou conseguindo sucesso?

staroski

Já deu uma lida na documentação da interface List?

Listas são indexadas em 0, ou seja, o primeiro elemento tem índice 0, o segundo índice 1, o terceiro 3 e assim por diante.

// remove o 1º elemento
meuObjetoDoTipoArrayList.remove(0);

// como removeu o 1º, o 4º virou o 3º elemento (posição 2)
meuObjetoDoTipoArrayList.remove(2);
Criado 12 de setembro de 2017
Ultima resposta 29 de mar. de 2025
Respostas 8
Participantes 4