【java编程】Collection工具类之重写BinarySearch方法

来源:互联网 发布:linux tesseract yum 编辑:程序博客网 时间:2024/06/13 03:08
import java.util.*;/*折中查找*/class CollBinarySearch {public static void main(String[] args) {List<String> list=new ArrayList<String>();list.add("addbbb");list.add("addcbb");list.add("cdddads");list.add("baaadb");sop(list);Collections.sort(list);sop(list);int index=binarySearch(list,"cdddadsa");sop(index);}public static int binarySearch(List<String> list,String key){int min=0,max=list.size()-1,mid;while(min<max){//>>1就是/2mid=(min+max)>>1;//获取mid所对应的值,以便与key作比较String str=list.get(mid);//因为String本身具有比较性,所以直接用CompareTo方法int num=key.compareTo(str);if(num>0)min=mid+1;else if(num<0)max=mid-1;elsereturn mid;}return -min-1;}public static void sop(Object obj){System.out.println(obj);}}

0 0
原创粉丝点击