10
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

4 回答 4

36

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

移除此集合的所有元素,这些元素也包含在指定集合中

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

这将删除所有null""您的List.

输出 :

[name, asd]
于 2013-06-16T09:51:35.357 回答
1

您可以按值删除对象。

while(al.remove(""));
于 2013-06-16T09:51:34.163 回答
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();
    }
}

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

while(list.contains("")) {
    list.remove("");
}
于 2013-06-16T09:53:41.310 回答
0
List<String> al=new ArrayList<String>();
................... 

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

我不评论这段代码。你应该自己学习。请注意所有细节。

于 2013-06-16T09:53:57.923 回答