如何在 CodenameOne 项目中使用 Collections.binarySearch()

How to use Collections.binarySearch() in a CodenameOne project

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

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

我不清楚 codenameone 如何处理标准 java 方法和 类,但看起来如果 类 像 IntegerString(或这些的代号版本)实现了 Comparable 接口。

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

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

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

添加 Comparable 接口(到各种原语 "wrappers")也将使它更容易使用 Collections.sort(另一个非常有用的方法:-))

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

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

如果我们正在做那个改变,不妨两者都做。