0

我正在使用ArrayListandroid 游戏来动态添加和删除实体。

// 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 | -钥匙

| 一个 | 乙 | c | -价值

如果实体“b”被删除,它会重新排序吗

| 0 | 1 |

| 一个 | c |

还是每个对象都有自己的密钥?喜欢

| 0 | 2 |

| 一个 | c |

否则,我如何修复每个对象的索引,知道每个实体每 5 秒自动添加一次,所以我认为我不能硬编码list.add(1,entity),但应该自动完成?谢谢。

4

2 回答 2

0

解决了,我刚用list.remove(entity);

于 2013-07-04T19:46:53.083 回答
0

它像 ArrayList 的第一个选项一样重新排序。如果你想反过来,你可以使用常规列表 []。您还可以使用 HashMap ,其中您实际上有一个键值系统......

于 2013-07-04T18:58:55.113 回答