JAVA基础--db16_java泛型_map集合

时间:2022-05-04 19:24:47

Map集合:是和Collection并列的

JAVA基础--db16_java泛型_map集合

常用方法:

JAVA基础--db16_java泛型_map集合

Keyset图解

JAVA基础--db16_java泛型_map集合

因为key是唯一的,set也是唯一的,所以用set集。Key相当于一个丈夫

EntrySet图解

JAVA基础--db16_java泛型_map集合

JAVA基础--db16_java泛型_map集合

HashTable和Vector一样,都是1.0出来的

泛型:jdk1.5以后发生的技术

JAVA基础--db16_java泛型_map集合

运行时,会将泛型去掉,生成的class文件中是不带泛型的,这个称为泛型的擦除,为什么擦除呢?因为为了兼容运行的类加载器

泛型的擦除和补偿

泛型和集合配合用的最多,都是引用类型的。

泛型类:

JAVA基础--db16_java泛型_map集合

类上的QQ是声明,下面的QQ是使用。

泛型方法:

JAVA基础--db16_java泛型_map集合

第一个w是定义泛型,定义在返回值前面;第二个w是使用泛型。使用前要先定义,所以有2个w

泛型接口:

JAVA基础--db16_java泛型_map集合

在定义和实现的时候都不知道具体的类型,等使用的时候再传入

泛型的通配符:

JAVA基础--db16_java泛型_map集合

泛型的上限:

JAVA基础--db16_java泛型_map集合

Person集合里有student和worker,我只想存取迭代这两个,但是又不能直接写Person,因为泛型会将Person作为一个对象,所以,可以用泛型的上限。

只接收Person或Person的子类。

类型的下限:

JAVA基础--db16_java泛型_map集合

存元素的时候一般都用的上限!因为取出都是按上限类型运算的,避免了类型转换异常

集合框架小技巧:

JAVA基础--db16_java泛型_map集合

 JAVA基础--db16_java泛型_map集合

 

 JAVA基础--db16_java泛型_map集合