Map,SortedSet使用泛型,自定义泛型

/*
Map使用泛型
*/
import java.util.*;
public class fuck19{

public static void main(String[] args){

//创建
Map<String,Integer> maps=new HashMap<String,Integer>();

//存
maps.put("apple",23);
maps.put("banana",32);
maps.put("pineapple",12);

//遍历
//先得到所有的key,再去遍历
//在什么时候要加泛型,什么时候不要呢
Set<String> s=maps.keySet();
Iterator<String> it=s.iterator();//为什么这里都要加,能实现泛型的都要加
while(it.hasNext()){
String k=it.next();
Integer v=maps.get(k);
System.out.println(k+"-->"+v);
}
}

}


/*
SortedSet集合使用泛型
*/
import java.util.*;
public class fuck20{

public static void main(String[] args){

SortedSet<manager> ss=new TreeSet<manager>();

manager m1=new manager(2.3);
manager m2=new manager(4.3);
manager m3=new manager(2.6);
manager m4=new manager(9.3);

ss.add(m1);
ss.add(m2);
ss.add(m3);
ss.add(m4);

//遍历
Iterator<manager> it=ss.iterator();//为什么这里都要加,能实现泛型的都要加
while(it.hasNext()){
manager m=it.next();
m.work();
System.out.println(m);
}



}

}


class manager implements Comparable<manager>{

double sal;

manager(double sal){
this.sal=sal;
}

public String toString(){
return sal+" ";
}

public void work(){
System.out.println("一个月"+sal+"钱");
}
public int compareTo(manager o){
double sal1=this.sal;
double sal2=o.sal;//不需要强制类型转换
if(sal1>sal2){
return -1;
}else if(sal1<sal2){
return 1;
}else{
return 0;
}
}

}


//自定义泛型
class myclass<T t>{
public void m1<T t>{
System.out.println(t);
}
}


//测试程序
myclass<String> mc=new myclass<String>();


mc.add("jack");
mc.add(122);//error

阅读更多
个人分类: java学习
上一篇泛型初步和泛型如何实现,语法详解
下一篇关于增强for循环
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭