正文:
方法一:list.subList(from, to).clear(); (注意不要超出list的长度范围)
删除list中的前两行数据
@Test public void test() { List<String> list = new ArrayList<>(); list.add("a"); list.add("b"); list.add("c"); list.add("d"); list.subList(0, 2).clear(); list.add("new"); System.out.println("list:" + list); }
结果:
list:[c, d, new]
方法二:for循环
1,删除list中的前两行数据
@Test public void test() { List<String> list = new ArrayList<>(); list.add("a"); list.add("b"); list.add("c"); list.add("d"); for (int i = 0; i < 2; i++) { list.remove(0); } list.add("new"); System.out.println("list:" + list); }
结果:
list:[c, d, new]
2,删除list中的后两行数据
@Test public void test() { List<String> list = new ArrayList<>(); list.add("a"); list.add("b"); list.add("c"); list.add("d"); for (int i = 0; i < 2; i++) { list.remove(list.size()-1); } list.add("new"); System.out.println("list:" + list); }
结果:
list:[a, b, new]
3,错误的方式
@Test public void test() { List<String> list = new ArrayList<>(); list.add("a"); list.add("b"); list.add("c"); list.add("d"); for (int i = 0; i < 2; i++) { list.remove(i); } list.add("new"); System.out.println("list:" + list); }
结果:
list:[b, d, new]
原因:删除一行数据后,其他数据的索引会变
参考博客:
Java中如何移除List中前/后几个元素? - 这个名有人用不 - CSDN博客
https://blog.csdn.net/u012758599/article/details/76998198
原文:https://www.cnblogs.com/huashengweilong/p/11246273.html