HashMap及泛型实例(瞎搞的)
来源:互联网 发布:微信数据丢失怎么恢复 编辑:程序博客网 时间:2024/06/10 20:08
/**
* 东北电力大学因特雷工作室版权所有
* 开发项目组:因特雷工作室JAVA组开发
* 网址:http://itl.nedu.edu.cn
* JAVA组QQ开发群:37523769
* 联系请注明!!!
* 谢谢您的使用!!!!!!!
* 文件创建时间:2009年 Oct 25, 2009月 5:41:26 PM日
*/
package com.amly;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
public class TestMap2 {
public static void main(String[] args) {
// TODO Auto-generated method stub
new TestMap2().testMap2();
}
public void testMap2() {
Insert<Student> in = new Insert<Student>();
HashMap<Integer,Student> hm = new HashMap<Integer,Student>();
//List<Student> lists = new ArrayList<Student>();
for(int i=1;i<5;i++) {
//学生类测试
in.setObj(new Student());
Student s = (Student)in.getObj();
/*
* 老师类测试,下面写构造泛型类起作用了。因为上面实例化的时候定义了类型为Student类型,
* 所以下面在用的时候就不能用Teacher类型。这样避免了强制类型转换的麻烦
*/
/*
* in.setObj(new Teacher());
* Teacher s = (Teacher)in.getObj();
*/
s.setId(i);
s.setName("student"+i);
s.setSex("sex" + i);
s.setHigh("high" + i);
s.setAge(i*10);
//lists.add(s);
hm.put(i, s);
}
//取出HashMap中的数据方式一,比较好的一种,是使用entrySet()方法。
Set<Map.Entry<Integer,Student>> set = hm.entrySet();
//因为Set类有iterator()方法,可以返回Iterator,这样就可以取出数据了。
Iterator<Map.Entry<Integer,Student>> iter = set.iterator();
while(iter.hasNext()) {
Map.Entry<Integer, Student> mep = iter.next();
//Map.Entry是一个内部接口,它有两个方法,分别为getKey()和getVelue(),分别可以取出Map.Entry中的值和方法。
System.out.println("KEY:"+mep.getKey()+"---"+"Velue"+mep.getValue()+"---"+"Student:"+mep.getValue().getName());
}
}
}
//构造泛型
class Insert<Q> {
private Object obj;
public void setObj(Object obj) {
this.obj = obj;
}
public Object getObj() {
return obj;
}
}
class Student {
private int id;
private String name;
private String sex;
private String high;
private int age;
public void setId(int id) {
this.id = id;
}
public int getId() {
return id;
}
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getSex() {
return sex;
}
public void setHigh(String high) {
this.high = high;
}
public String getHigh() {
return high;
}
public void setAge(int age) {
this.age = age;
}
public int getAge() {
return age;
}
}
class Teacher {
private int id;
private String name;
private String sex;
private String high;
private int age;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getHigh() {
return high;
}
public void setHigh(String high) {
this.high = high;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
- HashMap及泛型实例(瞎搞的)
- 关于暴力&瞎搞骗分的一些实例
- Hashtable实例及它与HashMap的区别
- poj1850 Code (瞎搞)
- 瞎搞
- 瞎搞
- java中Map集合的常用遍历方法及HashMap的应用实例
- java中Map集合的常用遍历方法及HashMap的应用实例
- java中Map集合的常用遍历方法及HashMap的应用实例
- java中Map集合的常用遍历方法及HashMap的应用实例
- 深入解析HashMap、HashTable及应用哈希表对数据排序的实例
- hdu2073 无限的路 瞎搞
- 反谷歌(noguge)纯属瞎搞!!
- ZOJ First Digit(瞎搞)
- HDU 5000 Clone(瞎搞)
- BestCoder Round #15(瞎搞)
- hashmap 实例
- HashMap的原理及遍历
- Community Server-->模板定制处理
- 我既然辛苦过了,那么把经验记录下来
- Community Server-->HTTP处理
- 程序集
- Community Server-->工作任务
- HashMap及泛型实例(瞎搞的)
- 十六招成为大型软件项目的开发英雄
- Community Server-->搜索处理
- Community Server-->串行化处理
- 50个能够满足所有需要的Python模块
- Community Server-->多线程管理池
- Community Server-->缓存
- PKU 1861 最小生成树之KK算法
- Community Server-->多语言版本