Java中的泛型介绍:

  起因:

    1. JDK 1.4 以前类型不明确:

      ① 装入集合的对象被当作 Object 类型对待,从而失去了自己的原有类型;

② 从集合中取出时往往需要转型,效率低下,并且容易产生错误.

解决办法:

           2. 解决办法

      ① 在定义集合的时候,同时定义集合中对象的类型;

② 可以在定义 Collection 的时候指定,也可以在循环时用 Iterator 指定.

好处:

    3. 增强程序的可读性与稳定性.

Demo_1:

import java.util.*;
class MyName implements Comparable<MyName>{
private int age;
public MyName(int age) {
this.age = age;
} @Override
public int compareTo(MyName mn) {
if(this.age>mn.age){
return 1;
}else if(this.age<mn.age){
return -1;
}else {
return 0;
}
}
}
public class Test {
public static void main(String[] args) {
ArrayList<String> as = new ArrayList<String>();
as.add("aa");
as.add("bb");
as.add("cc");
as.add("dd");
for(int i=0;i<as.size();i++){
String sa = as.get(i);
System.out.print(sa+" "); // 输出:aa bb cc dd
}
System.out.println();
HashSet<String> hs = new HashSet<String>();
hs.add("a1");
hs.add("a2");
hs.add("a3");
hs.add("a4");
hs.add("a5");
for(Iterator<String> it=hs.iterator();it.hasNext();){
String sh = it.next();
System.out.print(sh+" "); // 输出:a1 a2 a3 a4 a5
}
System.out.println();
MyName m1 = new MyName(12);
MyName m2 = new MyName(25);
System.out.println(m1.compareTo(m2)); // 输出:-1
}
}

Demo_2:

import java.util.*;
public class Test {
public static void main(String[] args) {
HashMap<String, Double> mp = new HashMap<String, Double>();
mp.put("one", 112.365);
mp.put("two", 2.458);
mp.put("three", 126.258);
System.out.println(mp.size()); // 输出:3
System.out.println(mp.containsKey("two")); // 输出:true
if(mp.containsKey("three")){
Double i = mp.get("three"); // get Value
System.out.println(i); // 输出:126.258
}
}
}

  

       

最新文章

  1. Atitit 衡量项目的规模
  2. python网络编程-OSI七层模型详解
  3. HTML学习笔记--HTML的语法【1】
  4. textarea与XSS攻击
  5. Maven学习(三) -- 仓库
  6. 【Matplotlib】 增加图例
  7. linux概念之/dev/shm
  8. 关于SIGPIPE导致的程序退出
  9. poj 2773(容斥原理)
  10. PHP之SQL防注入代码(360提供)
  11. php curl 中的gzip压缩性能测试
  12. LINUX常用命令-系统配置篇(二)
  13. Gulp安装使用教程
  14. workerman简单例子
  15. sdio/sd/mmc architecture
  16. 2018 Multi-University Training Contest 2
  17. Java Hash Collision之数据生产
  18. word文档下划线无法显示的解决方法
  19. Python 爬虫之 Scrapy 分布式原理以及部署
  20. 只有父类的init方法才有创建servletConfig与servletContext的能力

热门文章

  1. font(字体)所使用的属性
  2. angular2或angular4中使用ckplayer播放rtmp和m3u8视频直播流
  3. Flask第三方组件之flask_session
  4. tcp/ip五层协议
  5. 记springboot+mybatis+freemarker+bootstrap的使用(1)
  6. 机房人民大团结(DP)
  7. 将 List&lt;Obj&gt; 集合, 导出至 Excel
  8. Dinic算法最大流入门
  9. plsql解决中文乱码
  10. 利用Powershell查询AD中账号属性