как удалить пустые элементы из коллекции.Без удаления индекса wise
public class ArrayListTest {
public static void main(String[] args) {
ArrayList al=new ArrayList();
al.add("");
al.add("name");
al.add("");
al.add("");
al.add(4, "asd");
System.out.println(al);
}
}
o / p [, name,,, asd] желание O / p [имя, asd]
4 ответов
можно использовать removeAll(Collection<?> c)
:
удаляет все элементы этой коллекции, которые также содержатся в указанная коллекция
al.removeAll(Arrays.asList(null,""));
это удалит все элементы, которые являются null
или равно ""
в своем List
.
выход :
[name, asd]
повторите список, прочитайте каждое значение, сравните его с пустой строкой ""
и если это так, удалите его:
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();
}
}
другой вариант-вызов списка remove()
метод, пока в списке есть пустые строки:
while(list.contains("")) {
list.remove("");
}
List<String> al=new ArrayList<String>();
...................
for(Iterator<String> it = al.iterator(); it.hasNext();) {
String elem = it.next();
if ("".equals(elem)) {
it.remove();
}
}
Я не комментирую этот код. Ты сам должен учиться у него. Пожалуйста, обратите внимание на все подробности.