我创建了一个列表,其中保存了一些字符串。但是,当我做二进制搜索这个列表中,它返回负值,而该项目是在列表中。
到目前为止,当列表中的项目返回时,我的知识肯定值将返回。但是对于某些项目,它返回负数,对于某些项目,它返回正数。
码:
@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)