泛型
来源:互联网 发布:淘宝围巾店推荐知乎 编辑:程序博客网 时间:2024/06/08 09:00
/**
* 关于 jdk5.0 的新特性, 泛型 (编译期)
* 1.为什么要引入泛型
* 可以统一集合中的数据类型
* 可以减少强制类型转化
*
* 2。泛型如何实现
* 3.泛型的优缺点
* 优点:统一了类型,减少了强制类型转换
* 缺点:只能存储一种类型
*
*
* 不使用泛型的缺点:
* 如果不适用泛型,元素的类型统一,遍历集合的时候只能取出大量的Object ,会使用大量的强制类型转化,比较麻烦
*
*
*
*/
/*
* 泛型如何实现
*
*/
public class GenerricTest {
public static void main(String[] args){
//创建一个 ArrayList<String> 的集合
ArrayList<String> strs=new ArrayList<String>();
//添加
strs.add("HHe");
strs.add("ANN");
strs.add("Hhhhh");
strs.add("reree");
//遍历
Iterator<String> it=strs.iterator();
while(it.hasNext()){
String s=it.next();
System.out.println(s);
}
/****************************************/
//map 使用泛型
Map<String,Integer> map=new HashMap<String,Integer>();
//往map 中添加元素
map.put("jack",10000);
map.put("ja",10001);
map.put("ck",10002);
map.put("k",10003);
map.put("j",10004);
//遍历
Set<String> key=map.keySet();
Iterator it1=key.iterator();
while(it1.hasNext()){
String key1=(String) it1.next();
Integer values=map.get(key1);
}
/**************************************/
//sortedSet 如何实现泛型
SortedSet<Manager> ss=new TreeSet<Manager>();
Manager m1=new Manager(10000.0);
Manager m2=new Manager(10001.0);
Manager m3=new Manager(10002.0);
Manager m4=new Manager(10003.0);
Manager m5=new Manager(10004.0);
ss.add(m1);
ss.add(m2);
ss.add(m3);
ss.add(m4);
ss.add(m5);
//遍历
Iterator<Manager> it2=ss.iterator();
while(it2.hasNext()){
Manager m=it2.next();
System.out.println();
}
}
}
class Manager implements Comparable<Manager>{//sortedSet 一定要重写 comparable接口
double sal;
Manager(double sal){
this.sal=sal;
}
public String toString(){
return sal+"";
}
@Override
public int compareTo(Manager man) {//重写 CompareTo方法
double s1=this.sal;
double s2=man.sal;
if(s1>s2){
return 1;
}else if(s1<s2){
return -1;
}else{
return 0;
}
}
}
/**
* 自定义泛型
*
*
*/
public class GenericTest03 {
public static void main(String[] args){
MyClass<String> my1=new MyClass<String>();
my1.m1("heelllllo");
}
}
//自定义的泛型
class MyClass<T>{
public void m1(T t){
System.out.println(t);
}
}
- 泛型
- 泛型
- 泛型
- 泛型
- 泛型
- 泛型
- 泛型
- 泛型
- 泛型
- 泛型
- 泛型
- 泛型
- 泛型
- 泛型
- 泛型
- 泛型
- 泛型
- 泛型
- Dex-Net 1.0 论文翻译
- navicat premium 12
- java多线程设计模式之GuardSuspension模式
- 怎样让spring mvc 返回图片
- 【CC2640R2F】香瓜CC2640R2F之串口
- 泛型
- 机器学习(1)从基本术语开始
- Oracle:转换函数
- jvm中的垃圾收集器简介
- Codeforces Round #401 (Div. 2) E. Hanoi Factory 贪心+栈
- 二叉树排序
- 深浅拷贝copy()和deepcopy()
- PHP获取上周、本周、上月、本月、本季度、上季度时间方法大全
- Oracle:正则表达式函数