目录
一、泛型的使用:以ArrayList为例
使用泛型后:
编译时,就会进行类型检查,保证数据的安全
遍历:
①使用增强for循环
@Test
public void test2(){
ArrayList<Integer> list = new ArrayList<Integer>(); //泛型不能时基本数据类型
list.add(78);
list.add(87);
list.add(99);
list.add(65);
// list.add("Tom");
for(Integer score : list){
//避免了强转操作
int stuScore = score;
System.out.println(stuScore);
}
}
②使用迭代器
@Test
public void test2(){
ArrayList<Integer> list = new ArrayList<Integer>(); //泛型不能时基本数据类型
list.add(78);
list.add(87);
list.add(99);
list.add(65);
Iterator<Integer> iterator = list.iterator();
while (iterator.hasNext()){
System.out.println(iterator.next());
}
}
二、泛型的使用:以HashMap为例
@Test
public void test3(){
Map<String,Integer> map = new HashMap<String,Integer>();
map.put("Tom",87);
map.put("Jerry",87);
map.put("Jack",67);
Set<Map.Entry<String, Integer>> entry = map.entrySet(); //泛型的嵌套
Iterator<Map.Entry<String, Integer>> iterator = entry.iterator();
while (iterator.hasNext()){
Map.Entry<String, Integer> e = iterator.next();
String key = e.getKey();
Integer value = e.getValue();
System.out.println(key + "------>" + value);
}
}
三、总结
- 集合接口或集合类在jdk5.0时都修改为带泛型的结构
- 在实例化集合类时,可以指明具体的泛型类型
- 在指明完以后,在集合类或接口中凡是定义类或接口时,内部结构(比如:方法、属性、构造器等)使用到类的泛型的位置,都指定为实例化时的泛型类型。
- 注意泛型类型必须是类,不能是基本数据类型。需要使用到基本数据类型的位置,用包装类进行替换
- 如果实例化时,没有指明泛型的类型。默认类型为:java.lang.Object类型
版权声明:本文为m0_52982868原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。