A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 记得上线 初级黑马   /  2012-7-18 07:43  /  1448 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

import java.util.*;
class CollectionsDemo
{
public static void sop(Object  obj)
{
  System.out.println(obj);
}
public static void main(String[] args)
{
  List<String> list=new ArrayList<String>();
  
  list.add("abcd");
  list.add("aaa");
  list.add("zz");
  list.add("kkkkk");
  list.add("qq");
  list.add("z");
  
  sop(list);
  //sop(Collections.sort(list));
  //sop(list);
  sop(halfSearch1(list,"bb"));
}
public static <Y> int halfSearch1(List<Y> List,Y key)//此处的变量类型该怎么加,我加了与集合一样的类型一直报错
{
  int max,mid,min;
  
   max=List.size()-1;
  min=0;
  while(min<max)
  {
   mid=(min+max)>>1;
   Y t=List.get(mid);
   int num=t.compareTo(key);
   if(num>max)
    max=mid-1;
   else if(mid<0)
    min=mid+1;
   else
    return mid;
   
  }
  return -min-1;
}

5 个回复

倒序浏览
public static int halfSearch(List<String> list,String key)

评分

参与人数 1黑马币 +6 收起 理由
记得上线 + 6

查看全部评分

回复 使用道具 举报
康大玮 发表于 2012-7-18 07:58
public static int halfSearch(List list,String key)

哥们 谢谢,那泛型的怎么加那
回复 使用道具 举报
康大玮 发表于 2012-7-18 07:58
public static int halfSearch(List list,String key)

懂了  谢谢
回复 使用道具 举报
记得上线 发表于 2012-7-18 08:11
哥们 谢谢,那泛型的怎么加那

首先你得明确什么时候定义泛型:是在当类中要操作的引用数据类型不确定的时候。
而那行代码List的类型一定是String,
泛型定义在方法上是为了让不同方法可以操作不同类型,而且类型还不确定。
那么可以将泛型定义在方法上。在这就没有必要 。
给你举个例子吧
class Demo<T>
{
        public  void show(T t)
        {
                System.out.println("show:"+t);
        }
        public <Q> void print(Q q)
        {
                System.out.println("print:"+q);
        }
        public  static <W> void method(W t)
        {
                System.out.println("method:"+t);
        }
}
class GenericDemo
{
        public static void main(String[] args)
        {
                Demo <String> d = new Demo<String>();
                d.show("haha");
                //d.show(4);
                d.print(5);
                d.print("hehe");

                Demo.method("hahahahha");
}

评分

参与人数 1技术分 +1 收起 理由
刘笑 + 1 赞一个!

查看全部评分

回复 使用道具 举报
你先看看懂不懂
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马