Day18 泛型 图
Day18
泛型
泛型
- jdk1.5出现的安全机制,将运行时期的问题ClassCastException转移到了运行时期。
- 形式为集合类名后加上<数据类型名>,可以明确操作的数据类型。避免了强制转换的麻烦。
- <>其实就是一个用于接受具体引用数据类型的参数范围。
- 泛型技术是给编译器使用的技术,用于编译时期,确保了类型的安全。运行时,会将泛型去掉,生成的class文件是不带泛型的,称为泛型的擦除。运行时通过获取元素类型进行转换,不用人工强转,称为泛型的补偿。
泛型静态方法
泛型接口
将泛型定义在接口上。
泛型限定
- 使用泛型的通配符
?表示位置类型。 一般内部全都调用object方法时用这个。 - 可以对类型进行限定
?extends E:接受E类型或者E类型的子类对象,是上限。 一般用于存元素的方法。?super E:接受E类型或其父类,是下限
== 泛型后半部分看困了 ==
Map
- 一次传入一对值,必须保证K的唯一性(第一个值)
常用方法
-
Value put(Key, Value); 返回前一个在key的value,如果没有返回null。
-
void clear(); 清空map集合
-
value remove(key);
-
boolean contains(key);
-
boolean containsValue(value);
-
value get(key);
-
int size();
-
set
keySet(); -
set<Map.Entry(K,V)> entrySet();
-
Collection
values();
常用子类
- HashTable:内部结构是哈希表,是同步的。
- Properties:用来存储键值对型的配置文件的信息,属性集
- HashMap:内部结构是哈希表,不同步。
- TreeMap:内部结构是二叉树,不同步。可以对Map集合中的键进行排序。
浙公网安备 33010602011771号