Collection集合、Iterator接口(迭代器)、泛型

集合

1、数组的缺陷:长度不可变,只能存储一种类型的数据。

2、集合:长度可变,存储的是对象,可以存储不同类型的数据。

             

Collection集合

1、所有集合的父类接口,根据集合类型不同又分为两个子接口list接口和set接口,每个子接口下有多个实现类集合。

2、常用方法:

        Boolean add(E e);向集合中添加元素。

        Boolean remove(E e);删除集合中的某个元素。

        void clear();清空集合中的所有元素。

        Boolean contains(E e);判断集合中是否包含某个元素。

        Boolean isEmpty();判断集合是否为空。

        int size();获取集合的长度。

        Object[] toArray();将集合转换成一个数组。

3、Collection集合有个工具类Collections里面有大量的静态方法,可以对Collection的子类进行操作,如public static void shuffle​(List<?> list); 使用默认的随机源随机排列指定的列表,即将集合内的元素随机打乱。

Iterator接口(迭代器)

1、对集合进行遍历。

2、常用方法:

        boolean hasNext()如果仍有元素可以迭代,则返回true,否则返回false。

        E next()返回(取出)迭代的下一个元素。

3、Iterator是接口不能直接创建对象,一般通过子类来使用:

        Iterator<E> it = Collection的实现类.iterator();

4、增强for循环:底层也是使用迭代器实现,只能遍历,不能在遍历过程中进行元素的增删。

        格式:for(集合(数组的数据类型) 变量名 : 集合名(数组名)){}

泛型

1、未知的数据类型,当我们不知道该用什么类型时就可以使用泛型,泛型也可以看作一个变量,用来接收数据类型。

2、泛型的好处与弊端:

        好处:避免了类型转换的麻烦,存储的是什么类型,取出的就是什么类型。把运行时异常提升到了编译期。

        弊端:泛型是什么类型就只能存储什么类型。

3、泛型的定义与使用:

        定义含有泛型的类:public class 类名<E>{private E 变量名;public E get(){return 变量名;}public void set(E e){this.变量名 = e;}}

        定义含有泛型的方法:修饰符 <E> 返回值类型 方法名(E e){方法体},含有泛型的方法在调用方法时确定泛型的数据类型,参数传递什么数据类型,泛型就是什么数据类型。

4、泛型接口的两种使用方法:

        在实现类指定接口的泛型的数据类型:public class 实现类名称 implements 接口<String>{}。

        在实现类不指定接口泛型而在创建实现类对象时指定:public class 实现类名称<E> implements 接口<E>{}。

5、泛型通配符:?代表任意的数据类型。

        使用方式:不能创建对象使用,只能作为方法的参数使用。如

                 public void printArray(ArrayList<?> list){

        Iterator<?> it = list.iterator();

        while(it.hasNext()){

                 System.out.println(it.next());

}

}

6、泛型通配符的高级模式(受限泛型):

        泛型的上限:

                 格式:类型名称<? extends 类> 对象名称。

                 意义:只能接收该类型及其子类型。

        泛型的下限:

                 格式:类型名称<? super 类> 对象名称。

                 意义:只能接收该类型及其父类型。

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值