美文网首页
java.util Collection相关类解读

java.util Collection相关类解读

作者: 小代码 | 来源:发表于2017-05-15 16:46 被阅读0次

Collection的超级父接口为Iterable<E>可迭代的,需要实现返回迭代器,那么for(:)语句就能使用了。
Collection提供的方法如下:

Collection方法
说明:
retainAll 方法容易被忽略,我就是其中一个。这个方法告诉我们取交集。
removeAll 可以得到差集
addAll 可以得到并集
那么集合里面的交差并都有了。

直接下级实现类有AbstractCollection,那么看下他的具体实现,取其中一个:

Paste_Image.png

其中具体实现都是使用Iterator<E> it来实现的
再看一个:

Paste_Image.png

这里的迭代器删除,如果改成如下会怎么样

public boolean removeAll(Collection<?> c) {
        Objects.requireNonNull(c);
        boolean modified = false;
        Iterator<?> it = iterator();
        // jdk方法
        while (it.hasNext()) {
            if (c.contains(it.next())) {
                it.remove();
                modified = true;
            }
        }

        // 方法2
        for (Object o : c) {
            if (this.contains(o)) {
                this.remove(o);
            }
        }

        // 方法3
        for (Object o : c) {
            this.remove(o);
        }

        return modified;
 }
说明:
方法2多此一举。jdk方法iterator用的多。
方法3和jdk方法哪个好呢?

相关文章

  • java.util Collection相关类解读

    Collection的超级父接口为Iterable可迭代的,需要实现返回迭代器,那么for(:)语句就能使用...

  • Java容器笔记(二):不同集合实现类的特点与区别

    package java.util包中的Collection相关接口和类如下图: 仅讨论Java.util包中的常...

  • Java 集合

    Collection Java标准库自带的java.util包提供了集合类:Collection,它是除Map外所...

  • java.util ArryList相关类解读

    List接口先看下List接口所提供的方法以及对比Collection接口,有哪些是新增方法(红红框框着的是新增的...

  • java.util LinkedList相关类解读

    实现接口LinkedList继承关系 看上图,LinkedList和ArrayList稍微有不一样的东西,那就是R...

  • Collection 集合类

    Collection 集合类 java.util包中提供了一些集合类,这些集合类又称为容器;集合类和数组的区别在于...

  • Java集合

    Java标准库自带的java.util包提供了集合类:Collection,它是除Map外所有其他集合类的根接口。...

  • JAVA Collection

    1 Collection接口 1.1 集合前言 Java语言的java.util包中提供了一些集合类,这些集合类又...

  • Java中的集合类

    集合类是java.util包下的重要组成部分,java的集合分为两类,一类是Collection,一类是Map(使...

  • JAVA集合类-Collection-List

    1.所有集合类都位于java.util包下。Java的集合类主要由两个接口派生而出:Collection和Map,...

网友评论

      本文标题:java.util Collection相关类解读

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