A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李江 中级黑马   /  2013-7-19 12:04  /  1082 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 杨兴庭 于 2013-7-21 12:55 编辑

为什么结果都是负的啊?如果存在返回的角标不应该是正的吗、、、

Y7894H_Y2CEQW`RSP1TC]4E.jpg (54.24 KB, 下载次数: 0)

代码

代码

@A~]3(~@K9WH}SRGRQ`X${U.jpg (10.93 KB, 下载次数: 0)

运行结果

运行结果

评分

参与人数 1技术分 +1 收起 理由
杜光 + 1 每天提问并回答问题,是对知识的复习和积累.

查看全部评分

4 个回复

倒序浏览
你搜索前没有排序。
public static <T> int binarySearch(List<? extends Comparable<? super T>> list, T key)
使用二进制搜索算法来搜索指定列表,以获得指定对象。在进行此调用之前,必须根据列表元素的自然顺序 对列表进行升序排序(通过上面的 sort(List) 方法)。如果没有对列表进行排序,则结果是不明确的。如果列表包含多个等于指定对象的元素,则无法保证找到的是哪一个。

评分

参与人数 1技术分 +1 收起 理由
杜光 + 1 每天提问并回答问题,是对知识的复习和积累.

查看全部评分

回复 使用道具 举报
使用binarySearch()方法查找,集合必须先排序。 如果不排序,就不能正确的查找,例如:

list查找 aaa ,会现在和z对比,aaa比z小,那么aaa在和abcd对比,aaa比abcd小,那么此方法将会返回(-(插入点) - 1) 即-0-1=-1.

评分

参与人数 1技术分 +1 收起 理由
杜光 + 1 每天提问并回答问题,是对知识的复习和积累.

查看全部评分

回复 使用道具 举报
tonygone 发表于 2013-7-19 13:08
你搜索前没有排序。
public static  int binarySearch(List

谢谢你啦。。。。
回复 使用道具 举报
graspDN 发表于 2013-7-19 14:48
谢谢你啦。。。。

谢谢你啦。。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马