【问题标题】:How to use Collections.binarySearch() in a CodenameOne project如何在 CodenameOne 项目中使用 Collections.binarySearch()
【发布时间】:2016-12-22 15:43:20
【问题描述】:

我习惯于对Strings 或Integers 的排序列表执行二进制搜索,代码如下:

Vector<String> vstr = new Vector<String>();
//  etc...
int index = Collections.binarySearch (vstr,  "abcd");

我不清楚 codenameone 如何处理标准 java 方法和类,但如果像 IntegerString (或这些的 codenameone 版本)这样的类实现了 Comparable,这看起来很容易解决界面。

编辑:我现在看到下面的代码可以完成这项工作。

int index = Collections.binarySearch(vstr, "abcd", new Comparator<String>() {

    @Override
    public int compare(String object1, String object2) {
        return object1.compareTo(object2);
    }
});

添加 Comparable 接口(添加到各种原始“包装器”中)也会使Collections.sort 更容易使用(另一种非常有用的方法:-))

【问题讨论】:

    标签: codenameone


    【解决方案1】:

    您也可以使用比较器进行排序,但我同意,这是我们个人需要在各种平台上的本地 VM 中提供的重要增强功能之一this is my biggest peeve in our current VM

    您能否就此提交 RFE 并在 Number 问题中将其作为评论提及?

    如果我们要进行这种更改,不妨同时进行。

    【讨论】:

    • 我在Number 问题上添加了评论。我是 Github 的新手,不确定在哪里/如何提及 String 的必要性也具有可比性,如果我弄混了事情,请道歉!
    • 谢谢,很好。我希望在 3.6 之前完成这个,但我们可能会在 3.7 周期的早期完成。
    猜你喜欢
    • 2017-07-12
    • 2020-10-03
    • 2021-07-11
    • 2014-07-07
    • 2021-10-22
    • 2021-08-03
    • 2016-06-03
    • 2017-06-27
    • 1970-01-01
    相关资源
    最近更新 更多