Day10 Collection、泛型类
1.Collection集合
1.1 集合的概述
集合是java中提供的一种容器,可以来存储多个数据,长度不固定。
1.2 集合框架
Collection:单列集合类根接口,用于存储一系列符合某种规则的元素,它有两个重要的子接口,分别是 java.util.List 和 java.util.Set 。
List 的特点是元素有序、元素可重复。 List 接口的主要实现类有 java.util.ArrayList 和 java.util.LinkedList ,
Set 的特点是元素无 序,而且不可重复。 Set 接口 的主要实现类有 java.util.HashSet 和 java.util.TreeSet 。
Vector类实现了可增长的对象数组。像数组一样,它包含可以使用整数索引访问的组件。但是,Vector的大小可以根据需要增大或缩小,以适应在创建Vector之后添加和删除项目。
与新的集合实现不同,Vector是同步的。如果不需要线程安全实现,建议使用ArrayList代替Vector。
1.3 Collection 常用功能
Collection是所有单列集合的父接口,其子类List(有序可重复)和Set(无序不可重复),也必须要具体的子类来实现。
public boolean add(E e) : 把给定的对象添加到当前集合中 。 public void clear():清空集合中所有的元素。
public boolean remove(E e): 把给定的对象在当前集合中删除。 public boolean contains(E e): 判断当前集合中是否包含给定的对象。 public boolean isEmpty() : 判断当前集合是否为空。
public int size(): 返回集合中元素的个数。
public Object [] toArray(): 把集合中的元素,存储到数组中

2.Iterator迭代器
2.1.java.util.Iterator是一个遍历集合得接口,故也称为迭代器。

注:Student类省略
2.2 增强for循环
增强for循环又称foreach循环,可以对无索引的集合进行元素的增删操作。

3.泛型
3.1能将指定集合的元素类型进行添加
其中包括字符串String,Integer,Double,Long,Boolean,还能自定义泛型类。方法,接口,以及泛型通配符<?>。
3.2使用泛型的好处:
1.将运行时期的ClassCastException,转移到了编译时期变成了编译失败。
2. 避免了类型强转的麻烦。
3.3受限泛型的使用
1.泛型的上限:
格式: 类型名称 <? extends 类 > 对象名称
意义: 只能接收该类型及其子类
2.泛型的下限:
格式: 类型名称 <? super 类 > 对象名称
意义: 只能接收该类型及其父类型
(short boolean int double float byte char string)-->Number-->Object
网友评论