0%

清除List内容遇到的坑

使用for循环删除List内元素可能会出错

问题

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
List<List<String>> lists = new ArrayList<>();
List<String> headList = Lists.newArrayList();
List<String> bodyList = Lists.newArrayList();
for (int i = 0; i < results.length; i++) {
if (i < 12) {
headList.add(results[i]);
} else {
if ((i - 12) % 22 == 0) {
lists.add(bodyList);
// bodyList = new ArrayList<>();
bodyList.clear();
}
bodyList.add(results[i]);
}
}
lists.add(headList);
System.out.println(lists);

结果:

[[0], [0], [1123, 球球, fee, 20200604, 1, piciho, 1, 123123.12, 1, 123123.12, 0, 0]]

百度

1.用list.clear()方法清空list;用此方法,其它引用该list的值也会变成空。

1
2
list2 = list;//此时list2有值
list.clear();//先将list赋值给list2,再清空,此时list和list2都为空

2.用list = null来清空list

3.new ArrayList()来清空list
————————————————
版权声明:本文为CSDN博主「聆听。。花开雨落」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/sofeware333/java/article/details/92783177

Donate comment here.

欢迎关注我的其它发布渠道