首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

为什么答案是:the result is undefined,小弟我觉得答案应该是1

2012-01-07 
为什么答案是:the result is undefined,我觉得答案应该是1:importjava.util.*classkl{publicstaticvoidma

为什么答案是:the result is undefined,我觉得答案应该是1:
import   java.util.*;
class   kl{
public   static   void   main(String   arg[]){
List   list=new   ArrayList();
list.clear();
list.add( "b ");
list.add( "a ");
list.add( "c ");
System.out.println(Collections.binarySearch(list, "a "));

}
}

[解决办法]
我的就是1,不知道你是怎么运行的
[解决办法]
运行结果就是1
[解决办法]
java 交流群:36468871 高手请进!

[解决办法]
1 
第一次就找到了
[解决办法]
在进行此调用之前,必须根据列表元素的自然顺序 对列表进行升序排序(通过上面的 sort(List) 方法)。如果没有对列表进行排序,则结果是不明确的。如果列表包含多个等于指定对象的元素,则无法保证找到的是哪一个。
[解决办法]
我运行的结果也是1啊!
楼主再运行一次试试
[解决办法]
binarySearch
一看就是二分查找法:
二分查找法的必要条件就是“顺序排列”。

大家得到的结果不一样,可能和jdk的版本有关。
[解决办法]
二分查找基于排序的
排序的顺序可能不同
[解决办法]
F:\javaclass\csdn> javac kl.java
注意:kl.java 使用了未经检查或不安全的操作。
注意:要了解详细信息,请使用 -Xlint:unchecked 重新编译。
我的是最新版jdk1.6的,出现这种情况

热点排行