Android java无法删除空元素

时间:2015-03-31 16:21:36

标签: java android arraylist

我想删除所有空元素..我使用下面的代码,但没有工作..

sejarahToken.removeAll(Collections.singleton(""));
    sejarahToken.removeAll(Arrays.asList(""));
    for (String st : sejarahToken) {
        writingFile(st);
    }

与使用此代码相同:

 sejarahToken.removeAll(Collections.singleton(null));
 sejarahToken.removeAll(Arrays.asList(null,""));

这里输出了txt文件中的 sejarahToken arraylist ..还有空值:

Leonardo
da
Vinci
dari
Italia
dan
Otto
Lilienthal
dari
Jerman
telah
mendahuluinya


Tetapi
ternyata
jauh
sebelumnya
semua
sudah
didahului
oleh
seorang

3 个答案:

答案 0 :(得分:2)

如果有空字符串或带有空格的字符串,则可以使用以下代码段删除。

final Iterator<String> iterator = sejarahToken.iterator();

while (iterator.hasNext()) {
  final String e = iterator.next();

  if (e == null || e.trim().isEmpty())
    iterator.remove();
}

答案 1 :(得分:1)

使用此

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

这将删除列表中所有null或等于“”的元素。

答案 2 :(得分:0)

使用以下代码行:

sejarahToken.removeAll(Collections.singleton(null));

如果在Arrays.asList上使用它,它将抛出UnsupportedException,因为它为您提供了Immutable副本,因此无法修改它。见下面的代码。它创建了Mutable副本,不会抛出任何异常。

public static String[] clean(final String[] v) {
    List<String> sejarahToken = new ArrayList<String>(Arrays.asList(v));
    list.removeAll(Collections.singleton(null));
    return sejarahToken.toArray(new String[sejarahToken.size()]);
}