矢量类java的indexOf方法需要清晰

矢量类java的indexOf方法需要清晰,java,api,vector,controls,Java,Api,Vector,Controls,我有一个向量对象,它包含不同内容的字符串元素,向量对象中大约有10000个元素。因此,我不想像疯子一样循环,而是考虑使用indexOf来获取第一个事件。为简单起见: String curNode = "0"; Vector<String> stringVec = "1", "2", "3", "0", "1", "0", "1"; 是否保证给我firstOccurse=3? 另外,我不太确定字符串是否是不可变对象,或者是否有违反equals方法的行为 返回此向量中指定元素第一次出现

我有一个向量对象,它包含不同内容的字符串元素,向量对象中大约有10000个元素。因此,我不想像疯子一样循环,而是考虑使用indexOf来获取第一个事件。为简单起见:

String curNode = "0";
Vector<String> stringVec = "1", "2", "3", "0", "1", "0", "1";
是否保证给我
firstOccurse=3
? 另外,我不太确定字符串是否是不可变对象,或者是否有违反
equals
方法的行为

返回此向量中指定元素第一次出现的索引,如果此向量不包含该元素,则返回-1。更正式地说,返回最低的索引i(o==null?get(i)==null:o.equals(get(i)),或者如果没有这样的索引,返回-1

这直接来自api
.indexOf
将保证返回
向量中对象的第一个实例,如果在
向量中找不到该对象,则返回
-1
。据我所知,index调用对象上的
.equals()
,而不是
=
操作符。因此,不可变的
字符串应该不会有冲突。

2件事--
indexOf()
无论如何都会循环,只是隐藏起来,现在通常最好使用
ArrayList
而不是
Vector
int firstOccur = stringVec.indexOf(curNode);