容器中的单例集合(一)——Collection接口和List接口

        在java中,容器可以简单的分为单例集合和双例集合。单例集合的使用由接口Collection定义。在Collection接口之下,根据容器的中储存元素的特性不同,Collection接口之下又定义了两个子接口——List接口和Set接口。List接口定义的容器中储存的元素是有序,可重复的,而Set接口定义的容器储存的元素是无序、不可重复的元素。

Collection接口

        Collection接口是单例集合的根接口,它的下面有List和Set两个子接口。在Collection接口中定义了对单例集合进行操作的多个抽象方法,分别有add、remove、contains、size、isEmpty、clear、iterator、containsAll、addAll、removeAll、retainAll、toArray。通过实现这些方法能够对创建的容器以及容器中的元素进行操作。

        boolean add(Object element) :将元素添加到容器中,并返回一个boolean类型的值,添加成功返回true,否则返回false;

        boolean remove(Object element) :移除容器中指定的元素,并返回一个boolean类型的值,移除成功返回true。否则返回false;

        boolean contains(Object element) :判断容器中是否含有某个元素,并返回一个boolean类型的值,若含有则返回true,否则返回false;

        int size() :判断容器中元素的数量

        boolean isEmpty() :判断容器是否为空,并返回一个boolean类型的值,如果容器为空则返回true,否则返回false;

        void clear() :清空容器中所有元素;

        Iterator iterator() :获取一个迭代器,用于遍历容器中的元素;

        boolean containsAll(Collection c) :判断本容器中是否包含容器c中的所有元素,若包含返回boolean值true,否则返回false;

        boolean addAll(Collection c) :将容器c中的所有元素添加到本容器中,如果添加成功返回true,否则返回false;

        boolean removeAll(Collection c) :移除本容器和容器c中都拥有的元素,移除成功返回boolean类型的值true,否则返回值false;

        boolean retainAll(Collection c) :获取本容器和容器c中同时拥有的元素,

        Object[] toArray() :将本容器转化为Object数组。

List接口

        List接口是Cllection接口的子接口,进一步定义了容器中单例集合的特征。List接口定义的容器中的元素是有序可重复的。有序指的是List定义的容器中的元素在存储时都有一个属于自己的索引,通过这个索引可以对容器中的元素进行精确的操作。可重复指的是List定义的容器中的元素可以储存多个相同的元素,这里说的相同指的是在调用方法e1.equals(e2)返回值为true的两个元素,并不仅仅局限于两个地址相同的元素。

        List接口作为Collection接口的子接口,继承了Collection接口中的所有的抽象方法,同时,由于List接口定义的容器涉及到了元素的索引,所以在List接口中又额外定义几个抽象方法,用于实现对元素的精准控制。这几个方法分别是add、set、get、remove、indexOf、lastIndexOf。其中add方发和remove方法可以看作是对Collection接口中add方法和remove方法的重载。

       void add(int index,Object element):在指定的索引位置插入指定的元素,如果插入位置以及插入位置之后存在元素,那么从那个位置开始,往后的所有元素的索引向后移动一位(包括该位置的原元素);

        Object set(int index,Object element):修改指定索引位置的元素;

        Object get(int index):获取指定位置的元素;

        Object remove(int index):删除指定位置的元素,如果该指定位置的后面存在元素,则后面的所有元素的索引向前移动一位;

        int indexOf(Object o):从前往后查找容器中是否存在元素o,并返回第一个与之匹配的元素的索引,如果容器中不存在元素o,则返回值-1;

        int lastIndexOf(Object o):从后往前查找容器中是否存在元素o,并返回第一个与之匹配的元素索引,如果容器中不存在元素o,则返回值-1。

        从以上介绍的List接口中的抽象方法不难看出,这些在Collection接口的基础上增添的方法中都涉及到了元素索引,因此也能判断,List接口定义的容器最大的特点就是元素的有序性和元素的可重复性,这两个特征是理解List接口定义的容器的关键。

        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值