我想删除仅包含空格字符的列表中的所有字符串。我尝试了以下代码,但未删除某些行:
List<String> getarray = /* ... */;
for (int i = 0; i < getarray.size(); i++) {
if (getarray.contains(" ").getarray.contains(null)) {
getarray.remove(i);
} else {
System.out.println("a: " + getarray.get(i));
}
}
这仅对某些输入有效,有人可以帮助我理解为什么吗?
Here is a list of inputs which did not work as intended
最佳答案
首先,使用一些Iterator迭代并执行从ArrayList中删除元素的操作。
其次,要解决空字符串的问题,可以使用trim()和isEmpty()方法
试试下面的代码:
Iterator<String> it = getarray.iterator();
while (it.hasNext()) {
String myValue = it.next();
if (myValue.trim().isEmpty()) {
it.remove();
} else {
System.out.println("a: " + myValue);
}
}