为了账号安全,请及时绑定邮箱和手机立即绑定

Java入门第三季

难度入门
时长 5小时 0分
学习人数
综合评分9.50
1125人评价 查看评价
9.7 内容实用
9.4 简洁易懂
9.4 逻辑清晰
  • 这里重写equals只判断了name一个属性,需要判断更多的话在后面用&&连起来即可
    public boolean equals(Object obj){
        if(this == obj) return true;
        if(obj == null || getClass() != obj.getClass()) return false;
        Course course = (Course)obj;
        return Objects.equals(name,course.name);
    }
    
    用containsAll()方法时,括号中的集合泛型也要跟检查的集合的泛型一致


    查看全部
  • 使用put(Key,element)方法可以修改对应键值的值

    查看全部
  • entrySet()方法返回的是Entry的Set类型,而Entry也有泛型:

    Set<Map.Entry<String,Student>> entrySet = students.entrySet();

    得到Set类型的entrySet之后再用foreach循环遍历entrySet:

    for(Map.Entry<String,Student> entry : entrySet){
        System.out.println("得到键值:"+entry.getKey());
        System.out.println("得到对应的值:"+entry.getValue().name);
    }

    getKey()方法得到entry的键值,getValue()方法得到entry的对应的值,再这里得到的是Student类型的对象。

    查看全部
  • String 对象创建后不能被修改,是不可变的,修改其实是创建新的对象,所指向的内存空间的不同,

    如:String s1 = "爱慕课";

    修改为 s1 = “欢迎来到”+s1;

    //字符串s1被修改,指向新的内存空间;

    new一个字符就是创建一个对象,该字符就不能改变了。

    查看全部
  • Set的元素无序切不可以重复

    查看全部
  • 首先在学生类当中创建Set类的属性:
    Set<Course> courses = new HashSet();
    然后创建一个SetTest类开始测试:
    在测试中也创建一个Set类用来存放所有课程:
    Set<Course> courses = new HashSet();
    然后创建Course类对象,将其存放进Set类的实例化对象中:
    Course cr1 = new Course("1","数据结构");
    courses.add(cr1);
    Course cr2 = new Course("2","C语言");
    courses.add(cr2);
    Course cr3 = new Course("3","计算机网络");
     courses.add(cr3);
    用for each将集合中元素都打印出来:
    System.out.println("能选择的课程如下:");
    for(Course course:courses){
                System.out.print("课程:");
                System.out.println(course.id+":"+course.name);
            }
    接着创建学生类对象,循环选课的次数,在每次循环中,输入课程ID,用for each来遍历判断输入的ID和集合中元素的ID是否相等,如果相等则将该Course元素插入学生对象的courses集合中:
    Student student = new Student("1","文胸");
    int size = courses.size();
    for (int i = 0; i < 3; i++){
                System.out.print("请输入要选择的课程的序号:");
                Scanner console = new Scanner(System.in);
                String num = console.next();
                for(Course course : courses){
                    if(course.id.equals(num)){
                        student.courses.add(course);
                    }
                }
            }
    最后再用for each循环打印出学生对象的courses集合的元素
    System.out.println("学生:"+student.name+"所选的课程为:");
            for(Course course:student.courses){
                System.out.println(course.id+":"+course.name);
            }

    查看全部
  • 泛型不能为基本类型,如果要使用基本类型,需要使用基本类型的包装类

    查看全部
  • 泛型使用方法如下:

    List<Course> courseToSelect = new ArrayList<Course>();

    使用泛型可以规范集合中的元素为规定的类型及其子类型;

    查看全部
  • 调用List接口类的courseToSelcet对象的remove()方法,括号中可以放要删除的元素,会删除列表中第一个遍历到的对应的元素;括号中也可以放数字。

    查看全部
  • 调用List类的对象coursesToSelect中的set(index,element)方法,在指定位置上修改元素:

    coursesToSelect.set(4,new Course("7","毛概"));


    查看全部
  • 三种遍历集合的方式:

    其中,Course是课程类,couresesToSelect是List的实例化对象,里面放着Course类的对象

    /**
     * get()方法遍历集合
     */
    public void testGet(){
        int size = coursesToSelect.size();
        System.out.println("有待选课程如下(get方法):");
        for(int i = 0; i < size; i++){
            Course cr = (Course)coursesToSelect.get(i);
            System.out.println("课程:"+cr.id+":"+cr.name);
        }
    }
    
    /**、
     * 使用迭代器来遍历集合
     */
    public void TestIterator(){
        Iterator it = coursesToSelect.iterator();
        System.out.println("有待选课程如下(迭代器方法):");
        while(it.hasNext()){
            Course cr = (Course)it.next();
            System.out.println("课程:"+cr.id+":"+cr.name);
        }
    }
    
    /**
     *通过for each方法遍历集合
     */
    public void testForEach(){
        System.out.println("有待选课程如下(for each方法):");
        for(Object obj: coursesToSelect){
            Course cr = (Course)obj;
            System.out.println("课程:"+cr.id+":"+cr.name);
        }
    }



    查看全部
  • List可以精确的控制每个元素的插入位置,删除某个位置的元素
    - ArrayList底层是由数组实现
    list.add(对象)把一个对象添加到另一个集合的队尾位置
    list.add(index, 对象) 把一个对象添加到另一个集合的指定位置
    list.addAll(集合对象) 把一个集合添加到另一个集合的队尾位置
    list.addAll(index, 集合对象) 把一个集合添加到另一个集合的指定位置
    Arrays.asList(数组) 把一个数组转换成List集合

    查看全部
  • Math类的方法

    http://img1.sycdn.imooc.com//5f6458fd0001b6d104810124.jpg

    查看全部
  • Calendar c = Calendar.getInstance();//Calendar是一个抽象类,用它的静态方法创建一个Calendar类的对象 int year = c.get(Calendar.YEAR);//用实例化对象c的get方法获得年份 Date date = c.getTime();//创建Date类的对象date
    查看全部
  • Scanner input = new Scanner(System.in);里的System.in是什么意思

    还有int one = input.nextInt();这个input.nextInt()又是什么意思啊

    System.in是System(系统)类,in是System的输入流

    input.nextInt()作用是在控制台输入int类型的数据

    InputMismatchException,Java中的异常,检测是否为数字


    查看全部

举报

0/150
提交
取消
课程须知
此部分为 Java 课程的进阶内容,适合具有一定 Java 基础的伙伴们学习,如果您是新手,建议您移步 《Java入门第一季》 和 《Java入门第二季》,在理解并掌握面向对象相关知识后再回来进修。
老师告诉你能学到什么?
本课程将学习 Java 中的异常处理、集合框架、字符串、常用类等,逐步学习掌握 Java 高级技术。

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!