正文:

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

相关文章:

  • 2022-12-23
  • 2022-01-05
  • 2021-07-25
  • 2021-07-27
  • 2022-12-23
  • 2021-08-20
  • 2022-12-23
猜你喜欢
  • 2021-12-26
  • 2021-12-02
  • 2021-12-02
  • 2022-01-12
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案