关于Collections.binarySearch的一个大坑!!!!
问题说明
众所周知,Collections类的各种方法能够提升我们的开发效率,避免重复造轮子。但是笔者最近使用Collections.binarySearch发现了一个大坑,各位使用该方法时请务必注意。
测试代码
package com.daisy.collection;
import lombok.extern.slf4j.Slf4j;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
/**
*
* @Description
*/
@Slf4j
public class CollectionsTest {
public static void main(String[] args) {
List<String> list = init();
Collections.reverse(list);
// Collections.sort(list, Comparator.comparing(String::length).reversed());
int i = Collections.binarySearch(list, "3333");
int j = list.indexOf("3333");
log.info("转换后的list集合{}",list);
log.info("查询元素的位置i={}",i);
log.info("实际的元素的位置j={}",j)