首页 > 编程语言 > 详细

【Java】【36】删除List中的几行数据

时间:2019-07-30 21:53:41      阅读:91      评论:0      收藏:0      [点我收藏+]

正文:

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

【Java】【36】删除List中的几行数据

原文:https://www.cnblogs.com/huashengweilong/p/11246273.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!