Collections.sort(list,new StrLenComparator());先通过sort方法对list通过指定的比较器排序后,使用Collections.binarySearch(list,"aa",new StrLenComparator());为什么还要再传入一次比较器?
我把比较器去掉之后Collections.binarySearch(list,"aa");运行结果是一样的!(因为sort已经按照指定比较器拍好顺序了。)
如果不使用sort排序,直接使用Collections.binarySearch(list,"aa",new StrLenComparator());得到的结果是不正确的。
那带比较器的binarySearch方法具体是怎么用啊!?
请小伙伴写个static <T> int binarySearch(List<? extends T>list, T key,Comparator<?super T> c); 这个的实际用法的示例代码~~
桑克油~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{:soso_e191:}
|