Java方法containsAll学习

时间:2025-04-01 11:35:25

有时候我们需要判断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;
}