Java方法containsAll学习

有时候我们需要判断B链表是不是A链表的子集,我们可以使用A.containsAll(B)来判断,当返回值是true的时候就表明B链表是A链表的子集,当返回值是false时候就表明B链表不是A链表的子集。 

实验代码如下:

package learnIng;

import java.util.ArrayList;

public class Cationsall {
    public static void main(String[] args) {
        ArrayList<String> als = new ArrayList<String>();
        als.add("a");
        als.add("b");
        ArrayList<String> alss = new ArrayList<String>();
        alss.add("a");
        alss.add("c");
        System.out.println(als.containsAll(alss));
    }
}

实验结果:false

实验代码如下:

package learnIng;

import java.util.ArrayList;

public class Cationsall {
    public static void main(String[] args) {
        ArrayList<String> als = new ArrayList<String>();
        als.add("a");
        als.add("b");
        ArrayList<String> alss = new ArrayList<String>();
        alss.add("a");
        System.out.println(als.containsAll(alss));
    }
}

实验结果:true

我们看下源代码了解containsALL的实现。

public boolean containsAll(Collection<?> c) {
    Iterator<?> e = c.iterator();
    while (e.hasNext())
        if (!contains(e.next()))
        return false;
    return true;
}
原文地址:https://www.cnblogs.com/henuyuxiang/p/7613746.html