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中的值