问答详情
源自:4-11 学生选课---通过 Set 集合管理课程

大神,求助!!Set的remove()方法怎么使用啊,为什么我的代码不对呢?

我在Course中已经让其自动重写了equals()方法——请看Course截图。

明明我在添加课程时添加了课程(“01”,"数学"),为什么Set的remove()方法返回值为false

所以,在第二次输出中,01,数学还在。到底是哪里出问题啊!!!大神求助。

https://img4.mukewang.com/5c88c57a0001e30112130574.jpghttps://img2.mukewang.com/5c88c57a0001d3e812020575.jpg


提问者:霸气小肆毛 2019-03-13 16:55

个回答

  • qq_宋先森_vzJSW5
    2019-03-13 17:58:03
    已采纳

    你这里是重新创建了一个新的course 对象,和之前存储的虽然内容相同,但是存放地址不同,remove需要remove你已经添加了的那个01课程,

  • 霸气小肆毛
    2019-03-14 09:09:51

    我用输入的形式,验证了Set的remove方法可以去除新建课程,但是不知道之前的问题出在哪里
    https://img4.mukewang.com/5c89a987000120ed10130565.jpg

  • 霸气小肆毛
    2019-03-13 17:30:18

    是通过循环添加到st.course的
    https://img1.mukewang.com/5c88cd7c0001780b11010536.jpg

  • qq_宋先森_vzJSW5
    2019-03-13 17:20:03

    你好像忘了st.course.add(); 没有添加当然就不包含呀