Vector类中查找是否存在某一元素(contains方法)是怎么个原理呢

lfrsx 2009-06-15 09:27:47
hash吗,还是一个个比较,还是怎的。
...全文
994 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
icesnows 2009-06-15
  • 打赏
  • 举报
回复
遍历,调用equals()方法
lfrsx 2009-06-15
  • 打赏
  • 举报
回复
哦,那速度可真是够慢的啊,我还以为用hash呢,谢谢各位!
老紫竹 2009-06-15
  • 打赏
  • 举报
回复
呵呵,就是遍历一次,进行比较。 equals
knightzhuwei 2009-06-15
  • 打赏
  • 举报
回复
这是源码
 public boolean contains(Object o) {
return indexOf(o, 0) >= 0;
}


public synchronized int indexOf(Object o, int index) {
if (o == null) {
for (int i = index ; i < elementCount ; i++)
if (elementData[i]==null)
return i;
} else {
for (int i = index ; i < elementCount ; i++)
if (o.equals(elementData[i]))
return i;
}
return -1;
}
zhuzhusany 2009-06-15
  • 打赏
  • 举报
回复
Searches for the first occurence of the given argument, beginning the search at index, and testing for equality using the equals method.

从源代码来看是按照容器元素的index搜索到第一次匹配的对象吧
knightzhuwei 2009-06-15
  • 打赏
  • 举报
回复
确实是遍历查找

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧