集合类
Collection接口
定义的是所有单列集合中共性方法
创建对象使用多态 Collection
add() 把给定的对象添加到当前集合中,返回一个boolean值
remove() 在集合中删除指定的对象,返回一个boolean值
contains() 判断当前集合是否包含给定对象,返回一个boolean值
isEmpty() 判断当前集合是否为空,返回一个boolean值
size(0 返回当前集合元素个数
toArray() 把当前集合存储到数组中
clear() 清除集合中元素,集合还是存在
Iterator接口 迭代器对集合进行遍历
hasNext() 判断集合中还有没有下一个元素
next() 取出集合中的下一个元素
Collection接口中的iterator()返回的就是迭代器的实现类对象
集合是什么类型,迭代器就是什么类型
Iterator
增强for循环 (底层使用的是迭代器)
用来遍历数组或集合
for(集合/数组的数据类型 变量名:集合/数组名)
List集合:有序的集合,允许存储重复元素,有索引
Set集合:不允许存储重复元素,没有索引
泛型
一种未知的数据类型,可以看成是变量,用来接收数据类型
集合不适用泛型,默认就是Object类型,可以存储任意数据类型的数据,但不安全,会引发异常
定义泛型类
class 类名<泛型>{}
定义含有泛型的方法
修饰符 <泛型> 返回值类型 方法名(参数列表(泛型类型)){}
定义一个含有泛型的默认方法
修饰符 static <泛型> 返回值类型 方法名(参数列表(泛型类型)){}
含有泛型的接口使用方式
1.定义接口的实现类,实现接口,指定接口的数据类型
2.接口使用什么泛型,实现类就使用什么泛型
泛型通配符
当不知道用什么数据类型来接收的时候,此时可以用?,?表示未知通配符
使用方式
不能创建对象使用,能作为方法的参数使用
泛型上限限定:? extends E
代表使用的泛型只能是E类型的本身或子类
泛型下线限定:? super E
代表使用的泛型只能是E类型的本身或父类