我是靠谱客的博主 踏实豌豆,最近开发中收集的这篇文章主要介绍深入学习contains,remove方法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

深入学习contains,remove方法
boolean contains(Object o)
判断集合中是否包含某个对象o,如果包含返回true,反之返回false

contains方法是用来判断集合中是否包含某个对象的方法,
那么它在底层是怎么判断集合中是否包含的呢?

调用了equals方法进行对比,
equals方法返回true,就表在这里插入代码片示包含了这个对象

package Collection;

import java.util.ArrayList;
import java.util.Collection;
/*
深入学习contains,remove方法
boolean contains(Object o)
判断集合中是否包含某个对象o,如果包含返回true,反之返回false

contains方法是用来判断集合中是否包含某个对象的方法,
那么它在底层是怎么判断集合中是否包含的呢?

调用了equals方法进行对比,
equals方法返回true,就表示包含了这个对象
 */

public class ContainTest01 {
    public static void main(String[] args) {
        //创建一个集合对象
        Collection c=new ArrayList();
        String s1=new String("abc");
        c.add(s1);
        String s2=new String("def");
        c.add(s2);
        System.out.println("集合的元素个数:"+c.size());
        //创建一个新对象
        String x=new String("abc");
        //c集合中是否包含x?
        System.out.println(c.contains(x));  //true

    }
}

在这里插入图片描述

结论:存放在一个集合中的类型,必须重写equals方法

package Collection;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Objects;

/*
结论:存放在一个集合中的类型,必须重写equals方法
 */
public class Collectiontest02 {
    public static void main(String[] args) {
        Collection c=new ArrayList();
        User u1=new User("脆脆鲨");
        User u2=new User("脆脆鲨");
        c.add(u1);
        //判断集合中是否包含u2
        //没有重写equals方法前,返回的是false
      //  System.out.println(c.contains(u2)); //false
        //重写equals方法后,返回的是true,比较的是name
        System.out.println(c.contains(u2)); //true
        c.remove(u2);
        System.out.println(c.size()); //0

        Integer it=new Integer(1000) ;  //Integer中重写了equals方法
        c.add(it);
        Integer it1=new Integer(1000) ;
        System.out.println(c.contains(it1)); //true

    }
}

class User{
    private String name;

    public User(){}
    public User(String name) {
        this.name = name;
    }
  // 重写了equals方法
   @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        User user = (User) o;
        return Objects.equals(name, user.name);
    }


}

package Collection;

import java.util.ArrayList;
import java.util.Collection;

public class Containstest03 {
    public static void main(String[] args) {
        Collection c=new ArrayList();
        String s1=new String("小玉");
        c.add(s1);
        String s2=new String("小玉");
        //删除
        c.remove(s2);//s1.equals(s2)  java认为s1和s2是一样的,删除s2就是删除s1
        //集合中的元素为?
        System.out.println(c.size());
    }
}

最后

以上就是踏实豌豆为你收集整理的深入学习contains,remove方法的全部内容,希望文章能够帮你解决深入学习contains,remove方法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(57)

评论列表共有 0 条评论

立即
投稿
返回
顶部