您的位置:首页 > 编程语言 > Java开发

【慕课笔记】第六章 JAVA中的集合框架(下) 第1节 学生选课——判断List中课程是否存在

2016-02-29 15:58 609 查看
第1节 学生选课——判断List中课程是否存在

List和Set判断是否包含某个元素的方法都是一样的





contains方法是将List或Set中的所有元素与obj执行equals方法。(关于equals的知识在第二季 U3 第7节中有)

public void testListContains(){
//取得备选课程序列的第0个元素
Course course=coursesToSelect.get(0);
System.out.println("取得课程"+course.name);
System.out.println("备选课程中是否包含课程:"+course.name+","+coursesToSelect.contains(course));
//创建一个新的课程对象(与course拥有相同id和名称,但是对象不同)
Course course2=new Course(course.id,course.name);
System.out.println("新创建课程"+course2.name);
System.out.println("备选课程中是否包含课程:"+course2.name+","+coursesToSelect.contains(course2));
//有时只知道课程名称,通过名称判断是否包含这门课程,
//可通过for循环遍历名称,但是比较麻烦
//依然可以通过contains判断是否包含这门课程,重写equals方法即可。

}


重写equals

@Override
public boolean equals(Object obj) {
// TODO Auto-generated method stub
if(this==obj)
return true;
if(obj==null)
return false;
if(!(obj instanceof Course))//判断类型
return false;
//以上三条都满足则说明obj是Course类型且非空
Course course=(Course)obj;
if(this.name==null){
if(course.name==null)
return true;
}else{
if(this.name.equals(course.name))
return true;
else
return false;
}
return true;
}


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: