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

發佈了110 篇原創文章 · 獲贊 8 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章