笔记
泛型
泛型即参数化类型,也就是说数据类型变成了一个可变的参数,在不适应泛型的情况下,参数的数据类型都是写死了的,使用泛型之后,可以根据程序的需要进行改变。
规则:
- 只能是类类型,不能是简单数据类型
- 泛型参数可以有多个
- 可以用使用extends语句或者super语句 如
<T extends superClass>
表示类型的上界,T只能是superClass或其子类,<K super childClass>
表示类型的下届,K只能是childClass或其父类。 - 可以是通配符类型,比如常见的
Class<?>
小练习:start1.test7
Collection
集合框架是为表示和操作集合而规定的一种统一的标准的体系结构。任何集合框架都包含三大内容:对外的接口、接口的实现和对集合运算的算法。
collection接口是java集合框架里的一个根接口。它也是List、Set和Queue接口的父接口。Collection接口中定义了可用于操作List、Set和Queue的方法——增删改查。
List
List是一个接口,不能实例化,需要一个具体类来实现实例化。List集合中的对象按照一定的顺序排放,里面的内容可以重复。List接口实现的类有:ArrayList(实现动态数组),Vector(实现动态数组),LinkedList(实现链表),Stack(实现堆栈)。
ArrayList
ArrayList 类实现一个可增长的动态数组,位于java.util.ArrayList。实现了List接口,它可以存储不同类型的对象(包括null在内),而数组则只能存放特定数据类型的值。
例子:start1.Test8
Map
Map接口也是一个非常重要的集合接口,用于存储键/值对。Map中的元素都是成对出现的,键值对就想数组的索引与数组的内容的关系一样,将一个键映射到一个值得对象。一个映射不能包含重复的键;每个键最多只能映射到一个值。
value可以存储任意类型的对象,我们可以根据key键快速查找value。Map中的键/值对以Entry类型的对象实例形式存在。
HashMap
HashMap 是基于哈希表的Map接口的一个重要实现类。HashMap中的Entry对象是无序排列的,Key值和value值都可以为null,但是一个HashMap只能有一个key值为null的映射(key值不可重复)。
Collections
java.util.Collections是一个工具类,他包含了大量对集合进行操作的静态方法。