1

我正在尝试使用以下代码打印 arraylist 的所有元素并同时将它们从数组中删除。

while(!duplicates.isEmpty()){
outpurWriter.println(duplicates.remove(0));
}

它在数组列表很小的情况下工作,但如果数组列表包含 400000 个元素,它会在前几千个元素后崩溃。

我改变了我的代码,只使用一个for循环来打印每个元素,然后设置arraylist = null,但只是想知道我最初使用的代码有什么问题。

干杯

4

1 回答 1

0

尝试这个,

public static void main(String[] args)
    {
        List<String> listString = new ArrayList<String>();
        listString.add("a");
        listString.add("b");
        listString.add("c");
        listString.add("d");

        System.out.println("Size of arraylist before remove: "+listString.size());
        ListIterator<String> listIterator = listString.listIterator();
        while (listIterator.hasNext())
        {
            listIterator.next();
            listIterator.remove();
        }
        System.out.println("Size of arraylist after remove: "+listString.size());
    }

如果您有更多插入和删除操作的要求,请使用linkedlist

于 2013-06-10T11:38:06.810 回答