m0_74004453 2022-11-16 13:24 采纳率: 80%
浏览 1
已结题

Collections的binarySearch的问题

问题遇到的现象和发生背景

关于Collections的binarySearch方法,正常查找值的位置,请问为什么是-4而不是0呢?

用代码块功能插入代码,请勿粘贴截图

public class Demo1 {
public static void main(String[] args) {
List list = new ArrayList();
list.add("zoo");
list.add("animals");
list.add("friends");

    System.out.println(list);
    
    System.out.println(Collections.binarySearch(list, "zoo"));
    
    
}

}

运行结果及报错内容

[zoo, animals, friends]
-4

  • 写回答

1条回答 默认 最新

  • miaoch 2022-11-16 14:19
    关注

    使用binarySearch的前提是 集合本身是有序的。他使用的是二分查找。
    将add的顺序调整成
    list.add("animals");
    list.add("friends");
    list.add("zoo");
    就可以了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 11月26日
  • 已采纳回答 11月18日
  • 创建了问题 11月16日

悬赏问题

  • ¥500 火焰左右视图、视差(基于双目相机)
  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本