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集合中的键进行排序。

posted on 2017-04-01 12:15  hazelnut  阅读(62)  评论(0)    收藏  举报

导航