Java Android Vector类,我应该使用;新";或;清除();?

Java Android Vector类,我应该使用;新";或;清除();?,java,android,vector,Java,Android,Vector,我正在创建一个游戏应用程序,你可以爬上“星星” 我希望我的向量对象能抓住最顶端的“星星” 因此,我的grapTopMostStars方法为它使用的向量对象调用.clear(),然后获取最顶端的星星 然而,我的好朋友告诉我,既然我真的不在乎矢量中以前的恒星,为什么不宣布新的矢量对象呢 他听起来很有道理,但我很担心,因为我在手机上玩这个游戏,不知何故多次创建新实例会减慢我的应用程序的速度。clear内部调用removeAllElements,实现如下: 651 public sync

我正在创建一个游戏应用程序,你可以爬上“星星”

我希望我的向量对象能抓住最顶端的“星星”

因此,我的grapTopMostStars方法为它使用的向量对象调用.clear(),然后获取最顶端的星星

然而,我的好朋友告诉我,既然我真的不在乎矢量中以前的恒星,为什么不宣布新的矢量对象呢


他听起来很有道理,但我很担心,因为我在手机上玩这个游戏,不知何故多次创建新实例会减慢我的应用程序的速度。

clear
内部调用
removeAllElements
,实现如下:

  651       public synchronized void removeAllElements() {
  652           modCount++;
  653           // Let gc do its work
  654           for (int i = 0; i < elementCount; i++)
  655               elementData[i] = null;
  656   
  657           elementCount = 0;
  658       }
651公共同步的void removelements(){
652 modCount++;
653//让gc完成它的工作
654表示(int i=0;i
迭代向量以将每个条目设置为
null
肯定比创建新向量的开销更大

顺便说一句,如果可能的话,您应该将
向量
替换为
数组列表
。报告告诉我们:

从Java2平台v1.2开始,该类被改装为 实现List接口,使其成为Java 集合框架。与新的集合实现不同, 向量是同步的。如果不需要线程安全的实现, 建议使用ArrayList代替Vector


(线程安全的东西比不同步的非线程安全类慢。)

您最好考虑替换
向量
Ty!很高兴知道我需要使用ArrayList!