黑马程序员技术交流社区

标题: Collections类问题 [打印本页]

作者: 思考。。。    时间: 2015-7-5 16:51
标题: Collections类问题
  1. import java.util.*;
  2. class CollectionsDemo
  3. {
  4.                 public static void main(String[] args)
  5.                 {
  6.                                 sortDemo();
  7.                 }       
  8.                 public static void sortDemo()
  9.                 {
  10.                                 List<String> list = new ArrayList<String>();
  11.                                 list.add("abcd");
  12.                                 list.add("aaa");
  13.                                 //list.add("zz");
  14.                                 list.add("kkkkk");
  15.                                 list.add("qq");
  16.                                 list.add("z");
  17.                                
  18.                                 //System.out.println(list);
  19.                                 //Collections.sort(list);
  20.                                 //Collections.sort(list);
  21.                                 //Collections.swap(List,1,2);
  22.                                 //int index = Collections.binarySearch(list,"abcd");
  23.                                 int index = Collections.binarySearch(list,"qq",new StrLenComparator());
  24.                                 System.out.println(list);
  25.                                 System.out.println("index = "+index);
  26.                                 //Collections.max(List);
  27.                         }
  28. }
  29. class StrLenComparator implements Comparator<String>
  30. {
  31.                
  32.                 public int compare(String s1,String s2)
  33.                 {
  34.                                         if(s1.length() > s2.length())
  35.                                                 return 1;
  36.                                         if(s1.length() < s2.length())       
  37.                                                 return -1;
  38.                                         return s1.compareTo(s2);
  39.                        
  40.                 }
  41. }
复制代码
请教一下,为什么输出结果是-1呢,难道我的代码有欠缺吗?







欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2