万千青柳 2021-09-24 19:23 采纳率: 100%
浏览 48
已结题

LinkedList 的 E remove(int index) 为什么删不干净


public class TestCollection {

    public static void main(String[] args) throws InterruptedException {
        List<Person> tl = new LinkedList<Person>(){{
            add(new Person(String.valueOf(1),true,18));
            add(new Person(String.valueOf(2),true,18));
            add(new Person(String.valueOf(3),true,18));
            add(new Person(String.valueOf(4),true,18));
            add(new Person(String.valueOf(5),true,18));
        }};
        for(int i=6;i<15;i++){
            tl.add(2,new Person(String.valueOf(i),true,18));
        }

        System.out.println(tl.size());
        for (int i=0;i<tl.size();i++)
            System.out.println(tl.remove(i));

        System.out.println(tl.size());
    }
}

@Data
@NoArgsConstructor
@AllArgsConstructor
class Person{

    private String name;
    private Boolean lady;
    private Integer age;

    @Override
    public boolean equals(Object obj) {
        System.out.println("我调用了Equals------------->>"+obj.toString());
        return this.toString().equals(obj.toString());
    }
}
/**--------------------------------执行结果------------------------------*

14
Person(name=1, lady=true, age=18)
Person(name=14, lady=true, age=18)
Person(name=12, lady=true, age=18)
Person(name=10, lady=true, age=18)
Person(name=8, lady=true, age=18)
Person(name=6, lady=true, age=18)
Person(name=4, lady=true, age=18)
7

当LinkedList的remove方法执行完毕之后,为什么没有彻底清理List中的值

  • 写回答

2条回答 默认 最新

  • CSDN专家-link 2021-09-24 19:51
    关注

    for (int i=0;i<tl.size();i++)
    System.out.println(tl.remove(i));
    改为:
    for (int i=0;i<tl.size();i++)
    {
    System.out.println(tl.remove(i));
    i--;
    }

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 10月2日
  • 已采纳回答 9月24日
  • 创建了问题 9月24日

悬赏问题

  • ¥18 help me! 希望大家来看看 吉~
  • ¥15 C++显示超限兔子集结
  • ¥15 sql server 2012的下载出错
  • ¥15 图像识别用户软件开发
  • ¥20 类原生rom lineageos
  • ¥15 有没有会做中专,云计算,卷子的,有偿一百块
  • ¥15 HC32串口DMA循环发送数据
  • ¥15 Uni-App实现飞书授权登陆
  • ¥50 Qt应用中如何通过代码打开开发者工具devtools
  • ¥20 mpp硬解码h264转为yuv