java-day11

集合类

Collection接口

  定义的是所有单列集合中共性方法

  创建对象使用多态  Collection coll = new ArrayList<>()

  add()  把给定的对象添加到当前集合中,返回一个boolean值

  remove()  在集合中删除指定的对象,返回一个boolean值

  contains()  判断当前集合是否包含给定对象,返回一个boolean值

  isEmpty()  判断当前集合是否为空,返回一个boolean值

  size(0  返回当前集合元素个数

  toArray()  把当前集合存储到数组中

  clear()  清除集合中元素,集合还是存在

Iterator接口  迭代器对集合进行遍历

  hasNext()  判断集合中还有没有下一个元素

  next()  取出集合中的下一个元素

  Collection接口中的iterator()返回的就是迭代器的实现类对象

  集合是什么类型,迭代器就是什么类型

  Iterator it = coll.iterator()  指向集合索引 -1

增强for循环 (底层使用的是迭代器)

  用来遍历数组或集合

  for(集合/数组的数据类型 变量名:集合/数组名)

List集合:有序的集合,允许存储重复元素,有索引

Set集合:不允许存储重复元素,没有索引

泛型

  一种未知的数据类型,可以看成是变量,用来接收数据类型

  集合不适用泛型,默认就是Object类型,可以存储任意数据类型的数据,但不安全,会引发异常

定义泛型类

  class 类名<泛型>{}

定义含有泛型的方法

  修饰符 <泛型> 返回值类型 方法名(参数列表(泛型类型)){}

定义一个含有泛型的默认方法

  修饰符 static <泛型> 返回值类型 方法名(参数列表(泛型类型)){}

含有泛型的接口使用方式

  1.定义接口的实现类,实现接口,指定接口的数据类型

  2.接口使用什么泛型,实现类就使用什么泛型

泛型通配符

  当不知道用什么数据类型来接收的时候,此时可以用?,?表示未知通配符

  使用方式

    不能创建对象使用,能作为方法的参数使用

泛型上限限定:? extends E

  代表使用的泛型只能是E类型的本身或子类

泛型下线限定:? super E

  代表使用的泛型只能是E类型的本身或父类

你可能感兴趣的:(java-day11)