【Java】【36】刪除List中的幾行數據


正文:

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM