如何从Java中的ArrayList中删除子列表?

使用subList()clear()方法

List接口的subList()方法接受两个表示元素索引的整数值,并返回当前List对象的视图,以移除指定索引之间的元素。

List接口的clear()方法从当前List对象中删除所有元素。

因此,要删除数组列表的特定子列表,您只需要通过指定需要删除的子列表的边界,就可以在列表对象上调用这两个方法-

obj.subList().clear();

示例

import java.util.ArrayList;

public class RemovingSubList {

   public static void main(String[] args){

      //实例化ArrayList对象

      ArrayList<String> list = new ArrayList<String>();

      list.add("JavaFX");

      list.add("Java");

      list.add("WebGL");

      list.add("OpenCV");

      list.add("OpenNLP");

      list.add("JOGL");

      list.add("Hadoop");

      list.add("HBase");

      list.add("Flume");

      list.add("Mahout");

      list.add("Impala");

      System.out.println("Contents of the Array List: \n"+list);

      //删除子列表

      list.subList(4, 9).clear();

      System.out.println("Contents of the Array List after 删除子列表: \n"+list);

   }

}

输出结果

Contents of the Array List:

[JavaFX, Java, WebGL, OpenCV, OpenNLP, JOGL, Hadoop, HBase, Flume, Mahout, Impala]

Contents of the Array List after 删除子列表:

[JavaFX, Java, WebGL, OpenCV, Mahout, Impala]

使用removeRange method()

AbstractList类方法的removeRange()方法接受表示当前ArrayList元素索引的两个整数值并将其删除。

但这是一种受保护的方法,要使用此方法,您需要

  • 使用extend关键字继承ArrayList类(从您的类)。

  • 实例化您的课程。

  • 将元素添加到获得的对象。

  • 然后,使用该removeRange()方法删除所需的subList 。

示例

import java.util.ArrayList;

public class RemovingSubList extends ArrayList<String>{

   public static void main(String[] args){

      RemovingSubList list = new RemovingSubList();

      //实例化ArrayList对象

      list.add("JavaFX");

      list.add("Java");

      list.add("WebGL");

      list.add("OpenCV");

      list.add("OpenNLP");

      list.add("JOGL");

      list.add("Hadoop");

      list.add("HBase");

      list.add("Flume");

      list.add("Mahout");

      list.add("Impala");

      System.out.println("Contents of the Array List: \n"+list);

      //删除子列表

      list.removeRange(4, 9);

      System.out.println("Contents of the Array List after 删除子列表: \n"+list);

   }

}

输出结果

Contents of the Array List:

[JavaFX, Java, WebGL, OpenCV, OpenNLP, JOGL, Hadoop, HBase, Flume, Mahout, Impala]

Contents of the Array List after 删除子列表:

[JavaFX, Java, WebGL, OpenCV, Mahout, Impala]

以上是 如何从Java中的ArrayList中删除子列表? 的全部内容, 来源链接: utcz.com/z/355915.html

回到顶部