小编Bla*_*wan的帖子

为什么Collections.binarySearch给出错误的结果?

我创建了一个列表,其中保存了一些字符串。但是,当我做二进制搜索这个列表中,它返回负值,而该项目是在列表中

到目前为止,当列表中的项目返回时,我的知识肯定值将返回。但是对于某些项目,它返回负数,对于某些项目,它返回正数。

码:

@Test
public void hello()
{
//  List<String> arlst = new ArrayList<String>();
    List arlst = new ArrayList();
    arlst.add("TP");
    arlst.add("PROVIDES");
    arlst.add("QUALITY");
    arlst.add("TUTORIALS");
    arlst.add("Stop");
    arlst.add("StopP");
    for (Iterator<String> iterator = (Iterator<String>) arlst.iterator();
            iterator.hasNext();)
    {
        Object next = iterator.next();
        System.out.println("next : " + next + " >> Search result : "
            + Collections.binarySearch(arlst, next.toString()));
    }

}
Run Code Online (Sandbox Code Playgroud)

输出:

next : TP >> Search result : -7
next : PROVIDES >> Search result : …
Run Code Online (Sandbox Code Playgroud)

java collections binary-search

2
推荐指数
1
解决办法
588
查看次数

标签 统计

binary-search ×1

collections ×1

java ×1