正文:
方法一: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