首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Java中的数组列表二分查找

Java中的数组列表二分查找
EN

Stack Overflow用户
提问于 2018-09-24 03:54:58
回答 1查看 114关注 0票数 -1

我有一个编程赋值,它需要一个包含方法来覆盖原始的arrraylist包含方法。该方法应检查列表是否已排序,然后在数组列表上对键执行二进制搜索。如果arraylist没有排序,那么它应该只执行arraylist中的原始包含方法。这是我现在的代码。

代码语言:javascript
复制
public void contains(String key) {
    System.out.println("Initializing");
    if(isSorted()) {
        int first = 0;
        int last = this.size() - 1;
        while(last >= first) {
            int mid = (first + last) / 2;
            if (this.get(mid).equals(key)) {
                System.out.println(this.get(mid));
            }
            if (this.get(mid).compareTo(key) == 1) {
                System.out.println(this.get(mid));
                first = mid + 1;
            }
            if (this.get(mid).compareTo(key) == -1) {
                System.out.println(this.get(mid));
                last = mid - 1;
            }
        }
    }
    else {
        System.out.println("Character does not exist");
    }
}

当我运行它时,我没有得到任何错误,但是当我尝试执行搜索时,什么也没有发生。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52469733

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档