如何从ArrayList中删除空白项目。不要删除索引

时间:2013-06-16 09:48:58

标签: java arraylist

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 [name,asd]

4 个答案:

答案 0 :(得分:33)

您可以使用removeAll(Collection<?> c)

  

删除包含在其中的所有此集合的元素   指定的集合

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

这将删除null""或等于List的所有元素。

输出:

[name, asd]

答案 1 :(得分:1)

您可以按值删除对象。

while(al.remove(""));

答案 2 :(得分:0)

遍历列表,读取每个值,将其与空字符串""进行比较,如果是,请将其删除:

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();
    }
}

另一种选择是在列表中有空字符串时调用List的remove()方法:

while(list.contains("")) {
    list.remove("");
}

答案 3 :(得分:0)

List<String> al=new ArrayList<String>();
................... 

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

我不评论此代码。你应该自己学习。请注意所有详细信息。