在arrayList中找到相匹配的值

fenglily2005icil 2008-04-10 11:58:21
有一个arrayList ,里面的每一行是String[] row, row[0]是name, row[1]是vaule,

我现在知道一个name, 要去arrayList里找相对应的vaule。

大家多多帮忙啊
...全文
123 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
Dan1980 2008-04-10
  • 打赏
  • 举报
回复
忘了,重写compareTo()同时还要重写equals()和hashCode()
Dan1980 2008-04-10
  • 打赏
  • 举报
回复
楼上两位的方法都是非常低效的。

强烈建议你的代码用HashMap来重构。
或者将String[]重新设计成自定义类,重写compareTo(),用Collections.sort()排好序以后,再用Collections.binarySearch()(二分法)来检索。
fenglily2005icil 2008-04-10
  • 打赏
  • 举报
回复
for(int i=0;i<warehouseList.size();i++){
Warehouse w=(Warehouse) warehouseList.get(i);
if(w.getWarehouseCode().equals(warehouseCode)){
warehouseDbServer=w.getWarehouseDbServer();
}
}
return warehouseDbServer;
}

tubage408 2008-04-10
  • 打赏
  • 举报
回复
for(Iterator it=arrayList.iterator();it.hasNext();){
String[] str=it.next();
if(name.equals(str[0])){
.................
}

}
caiming250 2008-04-10
  • 打赏
  • 举报
回复
你干嘛不直接用 hashmap? hashmap 本身就是一个 K,V 结构!
hmsuccess 2008-04-10
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 Dan1980 的回复:]
楼上两位的方法都是非常低效的。

强烈建议你的代码用HashMap来重构。
或者将String[]重新设计成自定义类,重写compareTo(),用Collections.sort()排好序以后,再用Collections.binarySearch()(二分法)来检索。
[/Quote]

也不一定,如果你的数据很大时,这就可以
zysmiracle 2008-04-10
  • 打赏
  • 举报
回复
4楼正解
issgates 2008-04-10
  • 打赏
  • 举报
回复
怎么不用HASHMAP呢? 明显的数据结构应用不当.
ErnestLu 2008-04-10
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 caiming250 的回复:]
你干嘛不直接用 hashmap? hashmap 本身就是一个 K,V 结构!
[/Quote]
跟我的第一感觉一样

62,623

社区成员

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

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