containsAll() :用于检测 arraylist 是否包含指定集合中的所有元素

两个集合一样返回true,不一样返回false
注意 :有一种特殊情况3,重点理解,注意两个集合的使用前后顺序,避免业务中影藏bug

情况1public static void main(String[] args) {
	List<String> list1 = Arrays.asList("1","2","3");
	List<String> list2 = Arrays.asList("1","2","3");
	boolean result = list2.containsAll(list1);
	System.out.println(result);
执行结果:true
情况2public static void main(String[] args) {
	List<String> list1 = Arrays.asList("1","2","3");
	List<String> list2 = Arrays.asList("1","2");
	boolean result = list2.containsAll(list1);
	System.out.println(result);
执行结果:false
 

同样的两个集合,集合使用顺序不一样,结果不一样
由此可见,情况3中,内部实现方式是通过判断list1集合是否包含在list2中才会返回true
所以当两个集合调换使用顺序,如情况4,执行结果才会返回false

情况3public static void main(String[] args) {
	List<String> list1 = Arrays.asList("1","2");
	List<String> list2 = Arrays.asList("1","2","3");
	boolean result = list2.containsAll(list1);
	System.out.println(result);
执行结果:true
情况4public static void main(String[] args) {
	List<String> list1 = Arrays.asList("1","2");
	List<String> list2 = Arrays.asList("1","2","3");
	boolean result = list1.containsAll(list2);
	System.out.println(result);
执行结果:false

contains():方法用于判断字符串中是否包含指定的字符或字符串

这里重点说的是使用contains()方法判断一个对象是否包含在一个集合中

执行一下代码需要先实现以下功能:
1、创建实体类User
2、创建构造函数
3、重写equals方法
注意如果不重写equals方法,执行结果都是false

public class User {
	private Integer id;
	private String name;
	private String phone;
	public Integer getId() {
	    return id;
	public void setId(Integer id) {
	    this.id = id;
	public String getName() {
	    return name;
	public void setName(String name) {
	    this.name = name;
	public String getPhone() {
	    return phone;
	public void setPhone(String phone) {
	    this.phone = phone;
	//构造函数
	public User(Integer id, String name, String phone) {
	    this.id = id;
	    this.name = name;
	    this.phone = phone;
	//重写equals方法
	@Override
	public boolean equals(Object obj){
	    if(!(obj instanceof User)){
	        return false;
	    User temp = (User) obj;
	    //此处可根据业务需求进行调整字段
	    if(this.getId().equals(temp.getId()) && this.getName().equals(temp.getName()) && this.getPhone().compareTo(temp.getPhone())==0){
	        return true;
	    return false;
public static void main(String[] args) {
	List<User> list1 = Arrays.asList(
	        new User(1, "张三1", "15810075811"),
	        new User(2, "李四", "15810075822"),
	        new User(3, "王五", "15810075833")
	List<User> list2 = Arrays.asList(
	        new User(1, "张三", "15810075811"),
	        new User(2, "李四", "15810075822"),
	        new User(3, "王五", "15810075833")
	list1.forEach(list->{
	    if(list2.contains(list)){
	        System.out.println("true");
	    }else{
	        System.out.println("false");
	});
执行结果:
false
                                    containsall 向量类containsAll()方法 (Vector Class containsAll() method)
containsAll() method is available in java.util package. containsAll()方法在java.util包中可用。 containsAll() method is used to test the exist...
List<Integer> asList = new ArrayList<>(Arrays.asList(0, 0, 0));
List<Integer> asList2 = new ArrayList<>(Arrays.asList(1, -5, 0));
System.out.println(asList2.containsAll
                                    对比判断两个List内容是否相等应用场景关键字 containsAll()   [kənˈteɪnz]注意事项代码示例contains() 方法用于判断字符串中是否包含指定的字符或字符串
当我们需要判断两个集合的内容是否相等时。
关键字 containsAll()   [kənˈteɪnz]
用于检测 arraylist 是否包含指定集合中的所有元素。相同返回true , 不同返回false
我们在对比两个集合时需要特别注意两个集合的向后顺序,顺序不同导致返回结果不同。
                                    集合一、集合框架的概述1.集合、数组都是对多个数据进行存储操作的结构,简称Java容器。2.1 数组在存储多个数据方面的特点:2.2 数组在存储多个数据方面的缺点:二、集合框架三、Collection接口中的方法的使用List接口面试题:ArrayList、LinkedList、Vector三者的异同?1. ArrayList的源码分析:1.1 jdk 7情况下1.2 jdk 8中ArrayLis...
                                    Java中List接口的containsAll()方法用于检查此List是否包含指定Collection中的所有元素。因此,本质上,它用于检查List是否包含一组元素。用法:boolean containsAll(Collection col)参数:此方法接受具有收集类型的强制性参数col。这是一个集合,如果列表中不存在,则需要检查其元素。返回值:如果集合col中的所有元素都存在于List中,则该...
                                    生命不止,奋斗不息;一个JAVA初学者的自勉;今天写一个对于胡牌规则的判定,遇到一个问题发现两个list的比较无论怎么样都无法成功,之后发现两个list里面必须类型一致public class MyTest {
    public boolean Test(String string) {
        List list1 = new ArrayList();
        List li...
                                    一.为何要用集合?
用数组存储,一旦初始化以后,其长度就确定了,元素的类型也确定了,我们只能操作指定类型的数据,而且是有限个。
而且数组提供的方法非常有限,不适合添加,插入和删除等操作。对于无序、不可重复地存数据的需求不能满足。
针对数组存储的缺点,集合就应运而生了
二.Collection集合继承结构图
三.Collection集合的常用方法
1.非常常用的,也是很简单的(5个)
		//声明一个集合
        Collection col = new ArrayList();
                                    今天遇到一个坑,java list集合中存入对象,然后用containsAll 方法进行比较时, 总是返回 false;查看源码得知:public boolean containsAll(Collection&lt;?&gt; c) {
    for (Object e : c)
        if (!contains(e))
            return false;
    re...
                                    一containsAll方法
今天上班的时候遇到一个坑,我把java list集合中存入对象,然后用containsAll 方法进行比较时,明明一个List集合包含另一个List集合的元素,但是结果总是返回 false。
1部分代码块如下
@Override
    @Transactional(rollbackFor = Exception.class)
    public boolean validate(Account account) {
        boolean flag = false;
                                    集合与数组都是容器,但集合是可动态变化的,集合常见类:Collection(Set\List)和Map,其增删的方法需要注意理解其含义,集合通过Iterable实现foreach迭代功能,但仍要注意使用foreach的remove时不能调用除Iterable本身外的方法修改容器,删除的话相对于removeIf方法(jdk1.8后才出现)。
                                    业务需求,有时候我们会需要比较当前的实体类的值是否和数据库查出来的某一条数据相同。
最初我以为直接用List.contains就可以比较,但是!俺们实际操作一下。
// 介是实体类
public class Employee {
  private Integer id;
  private String name;
  private String gender;
  private Long localId;
  public Employee(Integer id, String name, St
                                    测试Collection接口中addAll方法、containsAll方法的用法,详细要求如下:1)使用ArrayList构建集合c1,将字符串“java”、“cpp”、“php”、“c#”、“objective-c”放入集合c1中,并输出集合c1。2)使用HashSet构建集合c2,将集合c1中的元素添加到集合c2,并输出集合c2。3)使用ArrayList构建集合c3,将字符串“java”、“cpp”放入集合c3中,并判断集合c1中是否包含集合c3。