前提・実現したいこと
Javaにて ArrayListに追加したインスタンスを、リストから除いた後に削除したいです。
シューティングゲームでいう弾を扱うクラス「class Tama」は、ボタン等でインスタンスがリストへ追加されます。
前提として、Tamaをnewする際はビューのボタン等からaddするので、Tamaのインスタンスの名前は定義しません。
Tamaのインスタンスは一定条件が成就したのち、消え去るようにリストからも抜いてインスタンスをnullにして
メモリの心配を減らしたいと考えております。
そこで、
1.リスト.remove(index)ではリストから居なくなるだけで、インスタンスはメモリに残るのかどうか
2.removeのみで足りない場合、どのようなコードが必要になるのか
について、ご教授お願いできればと思います。
該当のソースコード(サンプル)
Java
1//弾クラス 2public class Tama{ 3 // 4} 5 6public class B{ 7 static ArrayList<Tama> tamalist = new ArrayList<>(); 8 (略) 9 //条件を満たしたら最も番号の若い弾インスタンスを消去するメソッド 10 public void delete(){ 11 if(tamalist.size()!=0){ 12 tamalist.remove(0); 13 } 14 } 15} 16 17public class Gameplay extends AppCompatActivity{ 18 (略) 19 public void onClick_Button(View v){ 20 B.tamalist.add(new Tama()); 21 } 22 23} 24 25 26
試したこと
1.tamalist.remove(index)のほかに
2.tamalist.set(index,null);tamalist.remove(index)も試しましたが、
いずれも結果を確認する方法が分かりません。
初めての質問にて、作法等の不足あるかと思いますが、どうぞよろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/12/19 00:18