2013-06-16 2 views

risposta

30

È possibile utilizzare removeAll(Collection<?> c):

rimuove tutti gli elementi di questa collezione che sono anche contenuti nella collezione specificato

al.removeAll(Arrays.asList(null,"")); 

Questo eliminerà tutti gli elementi che sono null o uguale a "" nel tuo List.

uscita:

[name, asd] 
+0

grazie, questo ha aiutato –

0

È possibile rimuovere un oggetto per valore .

while(al.remove("")); 
+0

sì, ma rimuoverà solo il primo spazio vuoto, come utilizzare il metodo remove ("") in modo da rimuovere tutto il valore vuoto da ArrayList? –

+0

Usa un ciclo while. Quando c'era qualcosa da rimuovere, viene restituito 'true'. Vedi il mio aggiornamento. – Devolus

0

iterare lista, leggere ogni valore, confrontarlo con una stringa vuota "" e se è così, rimuoverlo:

Iterator it = al.iterator(); 
while(it.hasNext()) { 
    //pick up the value 
    String value= (String)it.next(); 

    //if it's empty string 
    if ("".equals(value)) { 
     //call remove on the iterator, it will indeed remove it 
     it.remove(); 
    } 
} 

Un'altra opzione è quella di chiamare Elenca il metodo remove() mentre ci sono stringhe vuote nell'elenco:

while(list.contains("")) { 
    list.remove(""); 
} 
0
List<String> al=new ArrayList<String>(); 
................... 

for(Iterator<String> it = al.iterator(); it.hasNext();) { 
    String elem = it.next(); 
    if ("".equals(elem)) { 
     it.remove(); 
    } 
} 

Non commento questo codice. Dovresti studiare da solo. Si prega di prestare attenzione su tutti i dettagli.