如何对字节数组集合进行 Collections.binarySearch ?

发布于 2024-12-29 15:39:50 字数 236 浏览 0 评论 0 原文

这不起作用:

List<byte[]> byteArrayList = .... ;
Collections.binarySearch(byteArrayList, new ByteArrayComparator());

因为 byte[] 不扩展 Comparable。为什么提供比较器还不够? 有什么技巧吗?

UPS,错误,我确定我里面有搜索词......

This does not work:

List<byte[]> byteArrayList = .... ;
Collections.binarySearch(byteArrayList, new ByteArrayComparator());

because byte[] does not extend Comparable. Why isn't it enough that a Comparator is provided?
Any tricks?

Ups, error, i was sure I had the search term inside...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

看轻我的陪伴 2025-01-05 15:39:50

就目前而言,您正在字节数组列表中搜索比较器。看来您调用了错误的 binarySearch 方法,即 这个 而不是 这个

试试这个:

List<byte[]> byteArrayList = .... ;
byte[] valueToFind = .... ;
int index = Collections.binarySearch(byteArrayList,
                                     valueToFind,
                                     new ByteArrayComparator());

As it stands, you're searching the list of byte arrays for a comparator. It looks like you're calling the wrong binarySearch method, i.e. this instead of this.

Try this:

List<byte[]> byteArrayList = .... ;
byte[] valueToFind = .... ;
int index = Collections.binarySearch(byteArrayList,
                                     valueToFind,
                                     new ByteArrayComparator());
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文