-6

我有一个数组列表:

ArrayList<OrderItem> orderItems = new ArrayList<OrderItem>();

它充满了物体。我想按下一个可以有效删除此列表中所有对象的按钮。我怎样才能做到这一点?

4

7 回答 7

4

使用clear() 方法

 orderItems.clear();

需要关注的主要事情是其他代码可能对列表有引用。

更喜欢阅读@Skeets 答案:重新实例化列表或调用 clear() 的更好做法

于 2013-07-24T12:17:47.903 回答
3

像这样使用clear() 方法orderItems.clear()
它会从此列表中删除所有元素。此调用返回后,列表将为空。

于 2013-07-24T12:17:17.527 回答
3

您可以使用ArrayList#clear()

从此列表中删除所有元素。此调用返回后,列表将为空。

使用clear(),您无需创建新ArrayList对象。它只是清空ArrayList.

orderItems.clear();
orderItems.trimToSize();
于 2013-07-24T12:17:33.607 回答
1

Collection 接口本身定义了一个void clear();方法。

/**
 * Removes all of the elements from this collection (optional operation).
 * The collection will be empty after this method returns.
 *
 * @throws UnsupportedOperationException if the <tt>clear</tt> operation
 *         is not supported by this collection
 */

在您的按钮 actionListner 中,只需使用orderItems.clear();. 这将删除该集合的所有元素(在您的情况下为 ArrayList)。

    myButton.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            orderItems.clear();

        }
    });
于 2013-07-24T12:20:50.823 回答
0

ActionListener在您设置的按钮中添加一个

orderItems = new ArrayList();

这将删除列表中的每个项目。

于 2013-07-24T12:16:33.297 回答
0

ArrayList 中有一个内置方法。因此您可以在 orderdItems 上实现它,例如:

orderedItems.clear()

还要检查这个: http ://docs.oracle.com/javase/7/docs/api/java/util/ArrayList.html

于 2013-07-24T12:20:19.540 回答
0

您可以通过调用 clear 方法清空 ArrayList

orderItems.clear();

于 2013-07-24T12:20:28.053 回答