对java泛型集合的理解
来源:互联网 发布:无主之地2mac版 编辑:程序博客网 时间:2024/05/21 07:53
为什么需要泛型?
任何对象在加入集合类后,自动转为objec类型,取出时要进行强制类型转换,恢复特定的类型,所以在编程中,声明集合要指定里面能够存放什么类型的数据,解决集合的不安全性。
这种情况下需要用泛型集合,泛型集合限定了集合中的元素,解决了集合的不安全性,使用泛型集合时,从集合中取出元素,不需要强制类型转换可直接调用。
List泛型:
声明方式:List< 元素类型 >对象名=new ArrayList<元素类型>( );
LinkedList<元素类型> 对象名=new LinkedList<元素类型>;
Jdk1.5新特性中配合集合,数组循环遍历提供了一个增强的for循环:
for (元素类型 对象名: 集合名){
}
Map泛型:
声明方式:
Map<键数据类型,元素类型> 对象名=new HashMap<键数据类型,元素类型>();
例题:使用Java 集合实现功能 实现集合泛型功能
创建一个Map 集合对象存放Student对象
创建Student对象,Sudent对象 包含 name age pwd sex 4个属性
往Map集合存放数据: Map的key为String 类型的编号 Map键为Student对象
Map的key可以自定以字符串 如 0001,0002,0003,0004…..
使用HashMap作为Map的实现类,循环遍历Map集合数据 输出Map里面存放Student对象的姓名和年龄
public class Student {
/*生命属性*/
private String name;
private int age;
private String sex;
private String pwd;
/*getter,setter方法*/
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
/*构造方法*/
public Student(String name, int age, String sex, String pwd) {
super();
this.name = name;
this.age = age;
this.sex = sex;
this.pwd = pwd;
}
@Override
public String toString() {
return name+age;
}
}
import java.util.HashMap;
import java.util.Map;
import Test06.Student;
public class TestStudent {
/**
* 测试学生类
*/
public static void main(String[] args) {
/*声明对象*/
Student zhangsan=new Student("张三",20,"男","123456");
Student lisi=new Student("李四",21,"男","12356");
Student zhangyun=new Student("章云",19,"女","123567");
Student wanger=new Student("王二",20,"男","wang123567");
/*声明集合*/
Map student=new HashMap();
/*将对象添加到集合中*/
student.put("0001", zhangsan);
student.put("0002", lisi);
student.put("0003", zhangyun);
student.put("0004", wanger);
/*输出集合信息*/
System.out.println(student.keySet());
System.out.println(student.values());
System.out.println(student);
}
}
- 对java泛型集合的理解
- 对java集合的理解
- 对JAVA的集合的理解
- java基础对集合的理解
- 浅谈对java集合的理解
- 对java集合框架的理解
- 对集合的理解
- 对java set集合的理解与学习
- 对java集合不问底层实现的浅理解
- 对集合框架的理解
- 对集合的一点理解
- 对java泛型的理解
- 我对java泛型的理解
- 对Java的理解
- 对JAVA的理解
- C#中对List集合的理解
- 理解JAVA的集合类型
- Java集合框架的理解
- 策略模式
- Ftp上传常见错误和解决方法一
- 对java集合的理解
- 【Windows核心编程】Windows常见数据类型
- weka文本分类的试验
- 对java泛型集合的理解
- 一场地震,震出中国3S企业阴虚火旺
- ajax验证用户名
- 【框架-MFC】char*转CString
- 使用Xcode和Instruments调试解决iOS内存泄露
- 整体刷新和局部刷新frameset窗口
- 在PowerDesigner中设计物理模型2——约束
- 在Linux下软件安装的方法 rpm安装 和 编译安装
- ibatis做分页