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

removeAll()方法问题

课程中讲到removeAll方法的用途如下

Course[] crToRemove = {(Course)coursesToSelect.get(1),(Course)coursesToSelect.get(2)};

coursesToSelect.removeAll(Arrays.asList(crToRemove));

如果我把(Course)coursesToSelect.get(1)换成一个Course对象还能不能删除对应数据呢?像下面这样(方式2)

Course[] crToRemove = {new Course(2, "C语言"),new Course(3, "数学")};

coursesToSelect.removeAll(Arrays.asList(crToRemove));

我测试了一下,没有删除,是因为方式2中的new Course(2, "C语言")重新声明了一个对象,跟List中的对象不一样吗?

正在回答

4 回答

我也是新手,个人见解,如有错误请见谅。

Course[] crToRemove = {(Course)coursesToSelect.get(1),(Course)coursesToSelect.get(2)};

就相当于根据索引get到了两个值,放在了数组中。然后直接移除两个值。

Course[] crToRemove = {new Course(2, "C语言"),new Course(3, "数学")};

这一步做添加操作的时候就会做,是新声明两个元素,然后add到集合中。 这里要注意的是 2,3 并不是集合的索引,而是你添加的元素,替换成“任意值”也是一个性质。 所以你remove的时候没有得到索引,根本无法执行删除操作。


1 回复 有任何疑惑可以回复我~
#1

迷茫的土拨鼠 提问者

嗯嗯,是这样的,无论是对象还是索引值都是不同的,积分拿去
2017-11-08 回复 有任何疑惑可以回复我~

amp;#60;amp;#115;amp;#99;amp;#114;amp;#105

http://house.china.com.cn/sousou/%25101%253D%252C%2520%25%43%33%25%45%35%25%42%35%25%45%39%25%44%30%25%43%32%25%42%30%25%44%39%25%43%41%25%41%34%25%44%34%25%44%41%25%43%46%25%44%46%25%44%33%25%45%39%25%43%30%25%44%36%25%41%31%25%42%45%25%42%39%25%44%39%25%43%44%25%46%38%25%41%31%25%46%41%25%34%32%25%33%32%25%33%30%25%33%32%25%33%34%25%32%45%25%34%33%25%34%45%25%41%31%25%42%46%252C%25%43%31%25%44%39%25%44%32%25%43%41%25%42%38%25%44%46%25%44%30%25%41%33_1s.htmhttp://house.china.com.cn/sousou/%25101%253D%252C%2520%25%43%33%25%45%35%25%42%35%25%45%39%25%44%34%25%43%36%25%42%36%25%41%36%25%42%39%25%46%41%25%42%43%25%43%41%25%33%33%25%42%39%25%44%39%25%43%44%25%46%38%25%34%32%25%33%32%25%33%30%25%33%32%25%33%34%25%32%45%25%34%33%25%34%45%252C%25%43%34%25%44%41%25%42%44%25%41%44%25%43%44%25%46%38%25%42%41%25%45%43_1s.htmhttp://house.china.com.cn/sousou/%25101%253D%252C%2520%25%43%33%25%45%35%25%42%35%25%45%39%25%42%36%25%43%34%25%42%33%25%41%31%25%42%39%25%46%42%25%42%32%25%41%39%25%42%36%25%41%42%25%42%37%25%42%44%25%42%46%25%41%41%25%42%42%25%41%37%25%35%38%25%35%33%25%33%36%25%33%38%25%33%36%25%32%45%25%36%33%25%41%33%25%43%46%25%41%33%25%43%44%252C%25%42%41%25%44%37%25%42%38%25%44%41%25%42%31%25%43%46%25%44%32%25%42%35%25%43%39%25%46%41_1s.htmhttp://house.china.com.cn/sousou/%25101%253D%252C%2520%25%43%33%25%45%35%25%42%35%25%45%39%25%44%32%25%46%38%25%44%37%25%45%41%25%42%39%25%46%41%25%42%43%25%43%41%25%44%33%25%45%39%25%43%30%25%44%36%25%42%46%25%43%44%25%42%37%25%46%45%25%37%31%25%37%31%25%42%39%25%44%39%25%43%44%25%46%38%25%34%32%25%33%32%25%33%30%25%33%32%25%33%34%25%32%45%25%34%33%25%34%45%252C%25%42%35%25%43%32%25%44%36%25%44%44%25%42%31%25%43%46%25%44%32%25%42%35%25%43%39%25%46%41_1s.htmhttp://house.china.com.cn/sousou/%25101%253D%252C%2520%25%43%33%25%45%35%25%42%35%25%45%39%25%42%42%25%43%41%25%42%43%25%44%32%25%43%30%25%46%42%25%42%42%25%41%41%25%43%46%25%44%36%25%42%33%25%41%31%25%44%31%25%45%39%25%44%36%25%41%34%25%44%36%25%42%31%25%44%33%25%41%41%25%43%44%25%46%38%25%34%32%25%33%32%25%33%30%25%33%32%25%33%34%25%32%45%25%34%33%25%34%45%252C%25%42%42%25%43%36%25%42%38%25%44%34%25%42%38%25%44%46%25%44%30%25%41%33_1s.htmhttp://house.china.com.cn/sousou/%25101%253D%252C%2520%25%43%33%25%45%35%25%42%35%25%45%39%25%43%45%25%41%43%25%42%43%25%44%33%25%43%42%25%42%39%25%43%31%25%46%41%25%42%42%25%41%32%25%44%33%25%45%39%25%43%30%25%44%36%25%44%36%25%42%31%25%44%33%25%41%41%25%42%46%25%41%41%25%42%42%25%41%37%25%33%41%25%34%32%25%33%32%25%33%30%25%33%32%25%33%34%25%32%45%25%34%33%25%34%45%252C%25%44%31%25%43%45%25%42%33%25%43%37%25%42%31%25%43%46%25%44%32%25%42%35%25%43%39%25%46%41_1s.htmhttp://house.china.com.cn/sousou/%25101%253D%252C%2520%25%43%33%25%45%35%25%42%35%25%45%39%25%43%45%25%41%43%25%42%43%25%44%33%25%43%42%25%42%39%25%43%39%25%43%46%25%42%30%25%45%30%25%41%31%25%42%45%25%42%39%25%44%39%25%43%44%25%46%38%25%41%31%25%46%41%25%34%32%25%33%32%25%33%30%25%33%32%25%33%34%25%32%45%25%34%33%25%34%45%25%41%31%25%42%46%252C%25%42%41%25%44%37%25%42%31%25%44%41%25%43%38%25%43%42%25%42%32%25%43%35_1s.htmhttp://house.china.com.cn/sousou/%25101%253D%252C%2520%25%42%32%25%41%39%25%42%32%25%43%41%25%43%44%25%43%36%25%42%43%25%46%36%25%43%44%25%46%38%25%44%36%25%42%37%25%35%38%25%35%33%25%33%36%25%33%38%25%33%36%25%32%45%25%41%33%25%43%33%25%41%33%25%43%46%25%41%33%25%43%44%252C%25%43%33%25%41%46%25%43%33%25%46%42%25%42%34%25%46%33%25%44%31%25%41%37_1s.htmhttp://house.china.com.cn/sousou/%25101%253D%252C%2520%25%43%30%25%43%46%25%42%44%25%44%36%25%42%36%25%41%36%25%43%41%25%41%32%25%42%39%25%41%42%25%43%42%25%42%45%25%44%36%25%42%31%25%44%33%25%41%41%25%43%44%25%46%38%25%34%32%25%33%32%25%33%30%25%33%32%25%33%34%25%32%45%25%34%33%25%34%45%252C%25%42%44%25%46%41%25%44%36%25%44%30%25%44%32%25%44%46%25%43%37%25%45%39_1s.htmhttps://wap.zol.com.cn/index.php?c=List_List&keyword=%E7%9A%87%E5%AE%B6%E5%9B%BD%E9%99%85%E7%BD%91%E4%B8%8A%E6%8A%95%E6%B3%A8%E5%AE%98%E7%BD%91TL262%C2%B7C%EF%BC%AFM%E8%8E%B1%E8%8A%9C%E5%88%86%E7%AB%99%EF%BD%90https://list.jd.com/search?keyword=%E6%B2%B3%E5%8D%97%E5%AD%9F%E5%B7%9E%E5%93%AA%E9%87%8C%E8%83%BD%E7%8E%A9%E5%BA%84%E5%92%8C%E9%97%B2%E7%9B%B4%E8%90%A5%E7%BD%91B2024%C2%B7CN%E5%AD%9D%E6%84%9F%E9%AB%98%E6%A0%A1%EF%BC%AC%EF%BC%95%EF%BC%90http://dblab.xmu.edu.cn/?s=%E7%BC%85%E7%94%B8%E7%8E%8B%E8%80%85%E8%87%B3%E5%B0%8A%E5%A8%B1%E4%B9%90%E6%80%BB%E6%B1%87%E3%80%90TL262%C2%B7C%EF%BC%AFM%E3%80%91%E4%B8%8A%E9%A5%B6%E5%AD%A6%E5%BA%9Chttps://wap.zol.com.cn/index.php?c=List_List&keyword=%E6%96%B0%E4%B8%96%E7%95%8C%E5%85%AC%E5%8F%B8%E5%BC%80%E6%88%B7%E7%94%B5%E8%AF%9D%E7%9B%B4%E8%90%A5%E5%BC%80%E6%88%B7%3ATL262%C2%B7%EF%BC%A3%EF%BC%AF%EF%BC%AD%E8%BE%BE%E5%B7%9E%E7%94%B5%E5%8F%B0%EF%BC%B1https://minecraft.fandom.com/zh/wiki/UserProfile:%E6%96%B0%E9%87%91%E5%AE%9D%E5%AE%A2%E6%9C%8D%E5%92%A8%E8%AF%A2%E5%BE%AE%E4%BF%A1%E5%AE%98%E6%96%B9%E7%BD%91%E5%9D%80TL262%C2%B7C%EF%BC%AFM%E9%93%9C%E9%99%B5%E5%88%86%E7%AB%99?variant=zh-hk&cb=&mobileaction=toggle_view_mobilehttps://list.jd.com/search?keyword=%E7%BC%85%E7%94%B8%E6%9E%9C%E5%8D%9A%E4%B8%9C%E6%96%B9%E5%AE%98%E6%96%B9%E7%83%AD%E7%BA%BF%E3%80%90B2024.CN%E6%AC%A2%E8%BF%8E%E6%82%A8%E3%80%91%E6%9E%A3%E5%BA%84%E7%96%AB%E6%83%85http://house.china.com.cn/sousou/%25101%253D%252C%2520%25C0%25CF%25BD%25D6%25F6%25CE%25B0%25DB%25C0%25FB%25BC%25AF%25CD%25C5TL262%25A1%25A4C%25A3%25CFM%252C%25BD%25FA%25B3%25C7%25B5%25E7%25D0%25C5%25A3%25B6%25A3%25D6_1s.htmhttp://biz.finance.sina.com.cn/zjzt/more.php?lytype=ipoly_hyxdly&title=%B6%A6%CA%A2%B5%E7%BB%B0%CD%B6%D7%A2%BF%C9%D2%D4%C2%F0%A1%BE%B9%D9%CD%F8%A1%FATL262%A1%A4%A3%C3%A3%CF%A3%CD%A1%BF%B4%F3%C7%EC%B9%E3%B2%A5%A3%B0%A3%E2https://www.oschina.net/search?scope=all&q=%E5%B1%B1%E8%A5%BF%E8%BF%90%E5%9F%8E%E7%9C%9F%E4%BA%BA%E6%96%97%E7%89%9B%E7%9B%B4%E8%90%A5%E5%BC%80%E6%88%B7%3ATL262%C2%B7%EF%BC%A3%EF%BC%AF%EF%BC%AD%E9%87%91%E6%98%8C%E6%AF%95%E4%B8%9A%E7%94%9F%EF%BC%A4http://gdh.dict.cn/%E7%BC%85%E7%94%B8%E5%B0%8F%E5%8B%90%E6%8B%89%E7%BB%B4%E5%8A%A0%E6%96%AF%E5%A8%B1%E4%B9%90%E6%B3%A8%E5%86%8C%E7%9B%B4%E8%90%A5%E5%BC%80%E6%88%B7%3ATL262%C2%B7C%EF%BC%AFM%E5%B8%B8%E5%B7%9E%E7%84%A6%E7%82%B9https://iias.tsinghua.edu.cn/search/%E6%96%B0%E4%B8%96%E7%95%8C%E7%BB%8F%E7%90%86%E7%94%B5%E8%AF%9D%E7%94%B5%E8%AF%9DB2024%C2%B7CN%E5%92%B8%E9%98%B3%E4%BA%BA%E6%89%8D%E7%BD%91/feed/rss/https://www.fastsoso.cc/search?k=%E7%BC%85%E7%94%B8%E6%96%B0%E7%99%BE%E8%83%9C%E5%B9%B3%E5%8F%B0%E5%9F%8E%E5%BC%80%E6%88%B7%E5%AE%98%E7%BD%91TL262%C2%B7C%EF%BC%AFM%E6%9D%A5%E5%AE%BE%E4%BC%81%E4%B8%9Ahttps://db.auto.sina.com.cn/search/?search_txt=%E6%96%B0%E7%99%BE%E8%83%9C%E5%85%AC%E5%8F%B8%E5%BC%80%E6%88%B7%E7%94%B5%E8%AF%9D%E7%9B%B4%E8%90%A5%E7%BD%91TL262%C2%B7C%EF%BC%AFM%E6%9C%AC%E6%BA%AA%E5%AD%A6%E5%BA%9Chttps://search.bilibili.com/all?keyword=%E6%96%B0%E7%99%BE%E8%83%9C%E5%85%AC%E5%8F%B8%E5%BC%80%E6%88%B7%E7%94%B5%E8%AF%9D%E7%BD%91%E5%9D%80TL262%C2%B7C%EF%BC%AFM%E9%82%A2%E5%8F%B0%E6%AF%95%E4%B8%9A%E7%94%9Fhttp://dblab.xmu.edu.cn/?s=%E6%96%B0%E7%99%BE%E8%83%9C%E6%80%8E%E4%B9%88%E8%81%94%E7%B3%BB%E7%8E%B0%E5%9C%BA%E5%A4%A7%E5%8E%85%E7%BB%8F%E7%90%86%E3%80%90TL262%C2%B7C%EF%BC%AFM%E3%80%91%E6%9B%B2%E9%9D%96%E4%BA%BA%E5%8A%9B%E8%B5%84%E6%BA%90http://dblab.xmu.edu.cn/?s=%E9%91%AB%E4%BD%B0%E5%88%A9%E5%A8%B1%E4%B9%90%E9%A6%96%E9%A1%B5%E7%9B%B4%E8%90%A5%E5%BC%80%E6%88%B7%3ATL262%C2%B7C%EF%BC%AFM%E6%A0%AA%E6%B4%B2%E5%A4%A7%E5%AD%A6http://biz.finance.sina.com.cn/zjzt/more.php?lytype=ipoly_hyxdly&title=%C3%E5%B5%E9%D0%C2%B0%D9%CA%A4%D2%D7%C1%C4%CD%F8%D6%B7TL262.%A3%C3%A3%CF%A3%CD%D3%CE%CF%B7%B0%AE%BA%C3%D5%DFhttp://dblab.xmu.edu.cn/?s=%E8%BE%BD%E5%AE%81%E6%99%AE%E5%85%B0%E5%BA%97%E5%93%AA%E6%9C%89%E7%BD%91%E4%B8%8A%E5%B9%B3%E5%8F%B0%E3%80%90B2024%C2%B7CN%E6%AC%A2%E8%BF%8E%E6%82%A8%E3%80%91%E5%8D%97%E5%AE%81%E4%BA%BA%E5%8A%9B%E8%B5%84%E6%BA%90https://list.jd.com/search?keyword=%E6%9E%9C%E6%95%A2%E8%85%BE%E9%BE%99%E5%9B%BD%E9%99%85%E7%94%B5%E6%8A%95%E5%A8%B1%E4%B9%90%E5%AE%A2%E6%9C%8D%E7%94%B5%E8%AF%9D%E7%9B%B4%E8%90%A5%E5%BC%80%E6%88%B7%3AB2024%C2%B7CN%E5%B8%B8%E5%BE%B7%E5%AD%A6%E5%BA%9Chttps://www.fastsoso.cc/search?k=%E7%9A%87%E5%AE%B6%E5%9B%BD%E9%99%85%E5%B9%B3%E5%8F%B0%E7%BD%91%E5%9D%80%E5%AE%98%E7%BD%91B2024.CN%E9%87%91%E6%98%8C%E7%94%9F%E6%B4%BBhttps://search.bilibili.com/all?keyword=%E9%91%AB%E7%99%BE%E5%88%A9%E4%B8%8A%E5%88%86%E5%BE%AE%E4%BF%A1%E3%80%90%E5%AE%98%E7%BD%91%E2%86%92B2024%C2%B7CN%E3%80%91%E5%A8%84%E5%BA%95%E4%BD%93%E8%82%B2http://www.vpansou.com/query?wd=%E8%80%81%E8%A1%97%E6%96%B0%E7%99%BE%E8%83%9C%E7%8E%B0%E5%9C%BA%E7%94%B5%E8%AF%9D%E7%BD%91%E5%9D%80TL262%C2%B7C%EF%BC%AFM%E9%98%9C%E9%98%B3%E5%8D%AB%E8%A7%86https://www.oschina.net/search?scope=all&q=%E7%BC%85%E7%94%B8%E9%91%AB%E8%83%9C%E5%AE%A2%E6%9C%8D%E7%94%B5%E8%AF%9D%E3%80%90B2024%C2%B7CN%E3%80%91%E6%BD%AE%E5%B7%9E%E4%BA%BA%E5%8A%9B%E8%B5%84%E6%BA%90http://www.vpansou.com/query?wd=%E6%96%B0%E7%99%BE%E8%83%9C%E6%B8%B8%E6%88%8F%E7%BD%91%E5%9D%80%E7%94%B5%E6%8A%95%E8%83%BD%E4%B8%8D%E8%83%BD%E7%8E%A9%E5%AE%98%E6%96%B9%E7%BD%91%E5%9D%80B2024.CN%E6%B2%BB%E5%B7%9E%E5%B9%BF%E6%92%ADhttps://www.oschina.net/search?scope=news&q=%E9%9D%92%E6%B5%B7%E6%A0%BC%E5%B0%94%E6%9C%A8%E9%BE%99%E8%99%8E%E5%B9%B3%E5%8F%B0%E6%8E%A8%E8%8D%90TL262%C2%B7C%EF%BC%AFM%E6%97%A5%E7%85%A7%E5%B9%BF%E6%92%AD%EF%BC%AF%EF%BC%99&days=0&onlytitle=0&sort_by_time=0

0 回复 有任何疑惑可以回复我~

是这样的:

Course[] crToRemove = {(Course)coursesToSelect.get(1),(Course)coursesToSelect.get(2)};

coursesToSelect.removeAll(Arrays.asList(crToRemove));

这种方法是从集合中获取到之前添加的对象放到数组中,然后统一删除从集合中获取到的所有数据,能删除没问题;

Course[] crToRemove = {new Course(2, "C语言"),new Course(3, "数学")};

coursesToSelect.removeAll(Arrays.asList(crToRemove));

这种方式,是新创建两个对象(这两个新创建的对象和之前的已经在集合中添加过相同id和相同名字的对象,不能看做是同一个对象,最起码两者内存地址是不相同的),新创建的两个对象并不存在集合中,所以删除失;

理解下面代码你就明白了:

Course a=new Course(2, "C语言");

Course b=new Course(2, "C语言");

a和b虽然属性id和name相同,却是不同的对象(堆内存中的位置不同),a放入集合中,然后在集合中移出b,肯定失败,因为集合中根本没有存放b;如果集合中同时放入a和b,两者索引也不会相同;



1 回复 有任何疑惑可以回复我~

嗯嗯,是这样的,无论是对象还是索引值都是不同的,积分拿去

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第三季
  • 参与学习       409784    人
  • 解答问题       4339    个

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

进入课程

removeAll()方法问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信