Colllection方法集合-contains方法

/*
boolean contains(Object o);判断集合中是否包含某个元素
boolean remove(Object o)//删除集合中某个元素
*/
import java.util.*;
public class fuck4{

public static void main(String[] args){
//1.创建集合
Collection c=new LinkedList();

//2.创建Integer类型的对象
Integer i1=new Integer(10);

//3.添加元素
c.add(i1);
System.out.println(c.contains(i1));

Integer i2=new Integer(10);
System.out.println(c.contains(i2));//true
//Inteegr中已经重写equals方法
//contains底层调用的就是equals方法

manager m1=new manager(11,"jack");
c.add(m1);

manager m2=new manager(11,"jack");
System.out.println(c.contains(m2));//false
//因为manager没有重写equals方法
//所以底层调用的时候比较的是内存地址,所以不相等

//manager改写equals后的版本
manager m3=new manager(21,"jacki");
c.add(m3);

manager m4=new manager(21,"jacki");
System.out.println(c.contains(m4));//true
}




class manager{

int num;
String name;

manager(int num,String name){
this.num=num;
this.name=name;

}

//重写equals方法
public boolean equals(Object o){
if(this==o) return true;
if(o instanceof manager){
manager m=(manager) o;
if(m.num==this.num&&m.name.equals(this.name)){
return true;
}
}
return false;
}
}

猜你喜欢

转载自blog.csdn.net/rolic_/article/details/80298772
今日推荐