0

ArrayListエンティティを動的に追加および削除するために、Android ゲームで を使用しています。

// This block of code runs once each 5 seconds
Entity entity = new Entity();
list.add(entity);
entity.setCallback(new Callback() {
  @Override
  public void onKill() {

    // The problem is here
    int index = list.size() - 1;
    list.remove( index );


  }
});

基本的に、削除するエンティティにコールバックを設定するには、追加されたエンティティのインデックスを知る必要があります。

問題は、エンティティが順番に死なない可能性があることです。

| | 0 | 1 | 2 | -鍵

| | | | b | c | -価値

エンティティ「b」が削除された場合、次のように並べ替えますか

| | 0 | 1 |

| | | | c |

それとも、すべてのオブジェクトが独自のキーを保持していますか? お気に入り

| | 0 | 2 |

| | | | c |

それ以外の場合、各エンティティが 5 秒ごとに 1 回自動的にリストに追加されることを知っているので、すべてのオブジェクトにインデックスを修正するにはどうすれlist.add(1,entity)ばよいですか? ありがとう。

4

2 に答える 2

0

ArrayList の最初のオプションのように並べ替えます。逆の方法が必要な場合は、通常のリスト [] を使用できます。実際にキー値システムがある HashMap を使用することもできます...

于 2013-07-04T18:58:55.113 に答える
0

それを解決しました、私はちょうど使用しましたlist.remove(entity);

于 2013-07-04T19:46:53.083 に答える