List - Remover os itens nulos da lista

4 respostas
K

Ola pessoal
eu tenho uma List que as quase sempre vem valores nulos.
Criei um metodo pra remover, porem, nao tem dado muito certo

tentei usando os 2 metodos, e nenhum deles removeu todos os nulos
eles redam, porem, nao removem todos

package br.com.krusst.precadastro.teste;

import java.util.ArrayList;
import java.util.List;

public class RemoveArrayNulo {

	/**
	 * @param args
	 */
	public static void main(String[] args) {

		List<String> lista = new ArrayList<String>();
		
		lista.add(null);
		lista.add(null);		
		lista.add("teste1");
		lista.add(null);
		lista.add(null);		
		lista.add("teste2");
		lista.add(null);
		lista.add(null);		
		lista.add("teste3");
		lista.add("teste3");
		lista.add("teste3");		
		lista.add("");
		lista.add("");		
		lista.add(null);		
		lista.add("teste4");
		lista.add(null);
		lista.add(null);		

		System.out.println("--Lista Inicial--");		
		for(int i = 0; lista.size() > i; i++){
			System.out.println("Valor na posicao("+i+")" + lista.get(i));
		}			
		
		lista = removeListNull(lista);

		System.out.println("--Lista Final--");		
		for(int i = 0; lista.size() > i; i++){
			System.out.println("Valor na posicao("+i+")" + lista.get(i));
		}		

	}
	
	public static List<String> removeListNullV2(List<String> listaParametro){
		System.out.println("Remove");		
		List<String> indice = new ArrayList<String>();
		for(int i = 0; listaParametro.size() > i; i++){
			if(listaParametro.get(i) == null){
				indice.add(Integer.toString(i));
				System.out.println(Integer.toString(i));				
			}
		}		
		
		System.out.println("Indice: " + indice);
		
		for(int i = 0; indice.size() > i; i++){
			System.out.println("Loop 2: " + indice.get(i));			
			listaParametro.remove(Integer.parseInt(indice.get(i)));
		}
		
		return listaParametro;
	}

	public static List<String> removeListNull(List<String> listaParametro){
		System.out.println("Remove");		
		for(int i = 0; listaParametro.size() > i; i++){
			if(listaParametro.get(i) == null){
				listaParametro.remove(i);		
			}
		}		
		return listaParametro;
	}	
	
}

se alguem puder me ajudar

abs

T+

4 Respostas

B

use isso

public static void main(String[] args) {
		List<String> lista = new ArrayList<String>();   
        
        lista.add(null);   
        lista.add(null);           
        lista.add("teste1");   
        lista.add(null);   
        lista.add(null);           
        lista.add("teste2");   
        lista.add(null);   
        lista.add(null);           
        lista.add("teste3");   
        lista.add("teste3");   
        lista.add("teste3");           
        lista.add("");   
        lista.add("");         
        lista.add(null);           
        lista.add("teste4");   
        lista.add(null);   
        lista.add(null);       
        
        System.out.println("size antes:"+lista.size());
       
        while(lista.remove(null)){
        	System.out.println("Removeu o null");
        }
        
        System.out.println("size depois:"+lista.size());
	}
M

V
public static List removeListNull(List listaParametro){

System.out.println(Remove);

/*for(int i = 0; listaParametro.size() > i; i++){

if((listaParametro.get(i) == null) || (listaParametro.get(i).equals("")) || (listaParametro.get(i).equals(null)) ){

listaParametro.remove(i);

}

} */

String aux = null;

List laux = new ArrayList();

laux.add(aux);

listaParametro.removeAll(laux); //remove todos os nulos

aux = “”;

laux.add(aux);

listaParametro.removeAll(laux);//remove todos os brancos

return listaParametro;

}

Tente isto…

T+

K

vinidouradoh

so pra entender
o codigo que fiz, nao funcionou por que eu fazia uma remocao de “um nulo” e nao um array de nulo, é isso?

obrigado
o seu código funciono

public static List<String> removeListNull(List<String> listaParametro){
			String valorNulo = null;
			List listaAuxiliar = new ArrayList();
			listaAuxiliar.add(valorNulo);
			listaParametro.removeAll(listaAuxiliar); //remove todos os nulos
			valorNulo = "";
			listaAuxiliar.add(valorNulo);
			listaParametro.removeAll(listaAuxiliar);//remove todos os brancos
			return listaParametro;
		}

abs
T+

Criado 1 de julho de 2008
Ultima resposta 2 de jul. de 2008
Respostas 4
Participantes 4