码迷,mamicode.com
首页 > 其他好文 > 详细

集合框架(下)

时间:2018-02-06 23:09:49      阅读:206      评论:0      收藏:0      [点我收藏+]

标签:instance   bool   get   ext   equals   over   pos   cti   创建   

1.判断List中的课程是否存在(在SetTest类中)

 

    //测试List的contains方法(某个序列是否包含某个对象)
    public void testListContains(){
        //取得备选课程的第0个元素
        Course course = CourseToSelect.get(0);
        //打印输出CourseToSelect是否包含course对象
        System.out.println("取得课程"+course.name);
        System.out.println("备选课程中是否包含:"+course.name+","+CourseToSelect.contains(course));
        //创建一个新的课程对象,课程的ID和name和course相同
        Course course2 = new Course(course.id,course.name);
        System.out.println("新课程:"+course2.id+","+course2.name);
        System.out.println("备选课程中是否包含:"+course2.name+","+CourseToSelect.contains(course2));
            
    }

 

技术分享图片

Contains方法:是从原来List中取出的元素才可以显示为true,即使建立新的对象中含有的内容和原List中含有对象的内容相同,也返回的事false。(因为java中所有的类都继承Object,而Object类中的equals判断内容是否相同。在Contains中是先取出元素elements再equals比较。)

改写Course类中的equals方法(如果是课程对象内容相同则都返回true)

package com.collection;

public class Course {
    public String id;
    public String name;
    public Course(String id,String name)
    {
        this.id=id;
        this.name=name;
    }
    public Course(){
        
    }
    
    @Override
    public boolean equals(Object obj){
        if(this == obj){
            return true;
        }
        if(obj == null){
            return false;
        }
        if(!(obj instanceof Course)){
            return false;
        }
        Course course = (Course) obj;
        if(this.name==null){
            if(course.name==null){
                return true;
            }
            else{
                return false;
            }
        }else{
            if(this.name.equals(course.name)){
                return true;
            }else{
                return false;
            }
        }
        
    }
    

}

技术分享图片

2.通过改写equlas方法,实现了从控制台输入课程对象,测试原课程CourseToSelect中是否包含新建的课程对象’

    //测试List的contains方法(某个序列是否包含某个对象)
    public void testListContains(){
        //取得备选课程的第0个元素
        Course course = CourseToSelect.get(0);
        //打印输出CourseToSelect是否包含course对象
        System.out.println("取得课程"+course.name);
        System.out.println("备选课程中是否包含:"+course.name+","+CourseToSelect.contains(course));
        
        
        //提示输出课程名称
        System.out.println("请输入课程名称");
        String name = console.next();
        //创建一个新的课程对象,课程的ID和name和course相同
        Course course2 = new Course();
        course2.name=name;
        System.out.println("新课程:"+course2.name);
        System.out.println("备选课程中是否包含:"+course2.name+","+CourseToSelect.contains(course2));
            
    }

技术分享图片

 

集合框架(下)

标签:instance   bool   get   ext   equals   over   pos   cti   创建   

原文地址:https://www.cnblogs.com/sunxiaoyan/p/8424259.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!