【发布时间】:2014-06-24 15:25:15
【问题描述】:
我有一个 Vector 对象,其中包含不同内容的 String 元素,Vector 对象中的大小约为 10,000 个元素。因此,我没有像疯子一样循环,而是考虑使用 indexOf 来获得第一次出现。为简单起见:
String curNode = "0";
Vector<String> stringVec = "1", "2", "3", "0", "1", "0", "1";
基于 Vector API here,如果我执行以下操作:
int firstOccur = stringVec.indexOf(curNode);
能保证给我firstOccur=3吗?
另外,我不太确定 String 是否是不可变对象,或者是否有任何违反 equals 方法的行为在这里起作用。
【问题讨论】:
-
2 件事——
indexOf()无论如何都会循环播放,只是隐藏起来,现在使用ArrayList而不是Vector通常是一个更好的主意。