私はArrayListを持っています:
ArrayList<OrderItem> orderItems = new ArrayList<OrderItem>();
オブジェクトでいっぱいです。このリスト内のすべてのオブジェクトを効果的に削除するボタンを押したいと思います。これどうやってするの?
私はArrayListを持っています:
ArrayList<OrderItem> orderItems = new ArrayList<OrderItem>();
オブジェクトでいっぱいです。このリスト内のすべてのオブジェクトを効果的に削除するボタンを押したいと思います。これどうやってするの?
clear() メソッドを使用する
orderItems.clear();
と
懸念すべき主な点は、他のコードがリストへの参照を持っている可能性があることです。
@Skeetsの回答を読むことを好む:リストを再インスタンス化するか、clear()を呼び出すためのより良い方法
このようなclear() メソッドを使用orderItems.clear()
して、このリストからすべての要素を削除します。この呼び出しが戻った後、リストは空になります。
ArrayList#clear()を使用できます。
このリストからすべての要素を削除します。この呼び出しが戻った後、リストは空になります。
では、新しいオブジェクトclear()
を作成する必要はありません。ArrayList
を空にするだけArrayList
です。
orderItems.clear();
orderItems.trimToSize();
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();
です。これにより、その Collection (あなたの場合は ArrayList ) のすべての要素が削除されます。
myButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
orderItems.clear();
}
});
設定したボタンにを追加ActionListener
します
orderItems = new ArrayList();
これにより、リスト内のすべてのアイテムが削除されます。
clear メソッドを呼び出すことで、ArrayList を空にすることができます。
orderItems.clear();