美文网首页
List中remove疑问-02-16

List中remove疑问-02-16

作者: 封_绝 | 来源:发表于2019-02-16 14:42 被阅读0次

List list = new ArrayList();

//添加元素

list.add("fdaf");

list.add("abc");

list.add(123);

list.add(new Date());

System.out.println(list.size());

//输出所有值

for(int i = 0; i < list.size(); i++) {

System.out.print(list.get(i) + "\t");

}

System.out.println();

//移除日期

list.remove(new Date());

System.out.println(list.size());

Q:

注释掉输出所有值时,不能通过此方式remove时间

不注释 输出所有值, 则能够通过此方式remove时间

Answer:

因为源码使用的是equals判断value 是否相同,所以new两个时间,只要足够接近,value就相同,则可以通过equals匹配。

remove是将元素移出container,而不是将其从内存中删除。

相关文章

网友评论

      本文标题:List中remove疑问-02-16

      本文链接:https://www.haomeiwen.com/subject/skgbeqtx.html