我尝试使用带有 Arraylist 的二分搜索,它给了我以下消息:
集合类型中的方法binarySearch(List>, T)不适用于参数(ArrayList, String)
代码如下:
ArrayList <Object> a = new ArrayList <Object> ();
String date = JOptionPane.showInputDialog(null, "Please enter the date.")
int index = Collections.binarySearch(a, date);
二分查找应该从多个日期的数组 (a) 中返回特定日期的位置。我做错了什么?
最佳答案
要执行二分搜索,您的 Collection
必须排序。为了对某些东西进行排序,这个东西需要有一个明确定义的顺序。也就是说, Comparable<T>
是什么?接口(interface)是为了. Object
不实现Comparable<Object>
因此 List
的Object
无法排序(没有对它们进行排序的标准)。
请查看API了解更多详情。
关于java - 不能对对象数组列表使用二分查找吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30743531/