美文网首页
9 Java集合 - 基础

9 Java集合 - 基础

作者: 王毅巽 | 来源:发表于2018-02-19 12:13 被阅读0次

    9.1 Java集合的继承体系

    Collection集合体系的继承树 Map集合体系的继承树

    9.2 Collection和Iterator接口

            Collection接口是Set、List、Queue接口的父接口,该接口里定义的方法既可以用于操作Set集合,也可以用于操作List和Queue集合。

        Collection接口里定义了如下方法用于操作集合:

            - boolean add(Object o):此方法向集合里添加一个元素。操作修改了集合则返回true。

            - boolean addAll(Collection c):将集合里的所有元素添加到指定集合里。操作修改了集合则返回true。

            - void clear():清除集合里的所有元素,集合长度变为0。

            - boolean contains(Object o):判断集合里是否包含指定元素。

            - boolean containsAll(Collection c):判断集合里是否包含c集合里的所有元素。

            - boolean isEmpty():集合长度为0则返回true,否则返回false。

            - Iterator iterator():返回一个Iterator对象,用于遍历集合里的元素。

            - boolean remove(Object o):删除指定元素,包含多个相同元素时只删除第一个符合条件的元素,删除成功后返回true。

            - boolean removeAll(Collection c):从指定集合里删除c集合里所有的元素,删除一个或一个以上的元素则返回true。

            - boolean retainAll(Collection c):求指定集合与c集合的交集。操作修改了集合则返回true。

            - int size():返回集合里元素的个数。

            - Object[] toArray():把集合转换为一个数组。

        Iterator接口里定义了如下方法用于遍历集合:

            - boolean hasNext():被遍历的集合若未迭代结束,则返回true。

            - Object next():返回集合里的下一个元素。

            - void remove():删除集合里上一次next方法返回的元素。

            - void forRemaining(Consumer action):Java8为Iterator新增的默认方法,使用Lambda表达式来遍历集合元素。

        遍历集合的方式:

            - 使用Java8为Iterable接口新增的forEach(Consumer action)方法,此处可使用Lambda表达式。Iterable接口为Collection接口的父接口。

            - 使用Iterator遍历集合元素。通过next()方法获得的临时变量是拷贝的值,遍历过程中只能通过Iterator接口的remove()方法来删除元素,若调用Collection的remove(c)方法,会抛出ConcurrentModificationException异常。

            - 使用Java8为Iterator增强的forEachRemaining方法遍历集合。可以使用Lambda表达式。

            - 使用forEach循环遍历集合。临时变量获得的是拷贝的值,迭代过程中不能删除元素。

        操作集合的方式:

            - 使用Predicate和Java8为Collection新增的removeIf(Predicate filter)方法操作集合。

            - 使用Java8新增的Stream操作集合,集合通过.stream()方法变为流。

    相关文章

      网友评论

          本文标题:9 Java集合 - 基础

          本文链接:https://www.haomeiwen.com/subject/pdpitftx.html