Java中的ArrayList subList()方法示例

Java中的ArrayList subList()方法示例

java.util.ArrayList 类的 subList() 方法用于返回该列表中指定的fromIndex(包括)和toIndex(不包括)之间的部分的视图。(如果fromIndex和toIndex相等,则返回的列表为空。)

返回的列表由此列表支持,因此返回列表中的非结构性更改会反映在此列表中,反之亦然。返回的列表支持所有可选的列表操作。

语法:

public List subList(int fromIndex, int toIndex)

参数: 此方法将以下参数作为参数。

  • fromIndex – 子列表的低端点(包括)
  • toIndex – 子列表的高端点(不包括)

返回值: 此方法返回此列表中指定范围的视图。

异常: 此方法引发以下异常。

  • IndexOutOfBoundsException – 如果端点索引值超出范围(fromIndex尺寸)
  • IllegalArgumentException – 如果端点索引值的顺序不正确(fromIndex > toIndex)

以下是说明subList()方法的示例。

示例1:

// Java程序演示
// subList()方法
// 对于字符串值

import java.util.*;

public class GFG1 {
    public static void main(String[] argv)
        throws Exception
    {

        try {

            // 创建ArrayList
            ArrayList
                arrlist = new ArrayList
            ();

            // 填充arrlist1
            arrlist.add("A");
            arrlist.add("B");
            arrlist.add("C");
            arrlist.add("D");
            arrlist.add("E");

            // 打印arrlist
            System.out.println("原始数组列表:"
                                   + arrlist);

            // 获取子列表
            // 使用subList ()方法
            List arrlist2 = arrlist.subList(2, 4);

            // 打印子列表
            System.out.println("arrlist的子列表:"
                                   + arrlist2);
        }

        catch (IndexOutOfBoundsException e) {
            System.out.println("抛出异常:" + e);
        }

        catch (IllegalArgumentException e) {
            System.out.println("抛出异常:" + e);
        }
    }
}
原始数组列表:[A, B, C, D, E]
arrlist的子列表:[C, D]

示例2: 为了IndexOutOfBoundsException

// Java程序示例
// subList()方法
// 用于IndexOutOfBoundsException
  
import java.util.*;
  
public class GFG1 {
    public static void main(String[] argv)
        throws Exception
    {
        try {
  
            // 创建ArrayList<Integer>对象
            ArrayList<String>
                arrlist = new ArrayList<String>();
  
            // 填充arrlist1
            arrlist.add("A");
            arrlist.add("B");
            arrlist.add("C");
            arrlist.add("D");
            arrlist.add("E");
  
            // 打印arrlist
            System.out.println("原始 arrlist: "
                               + arrlist);
  
            // 使用subList()方法获取子列表
            System.out.println("\n结束索引值超出范围");
            List<String> arrlist2 = arrlist.subList(2, 7);
  
            // 打印子列表
            System.out.println("arrlist的子列表: " + arrlist2);
        }
  
        catch (IndexOutOfBoundsException e) {
            System.out.println("抛出异常 : " + e);
        }
  
        catch (IllegalArgumentException e) {
            System.out.println("抛出异常 : " + e);
        }
    }
}
原始 arrlist: [A, B, C, D, E]

结束索引值超出范围
抛出异常 : java.lang.IndexOutOfBoundsException: toIndex = 7

示例3: IllegalArgumentException

// Java程序示例
// subList()方法
// 用于IllegalArgumentException
  
import java.util.*;
  
public class GFG1 {
    public static void main(String[] argv) throws Exception
    {
        try {
  
            // 创建ArrayList<Integer>对象
            ArrayList<String>
                arrlist = new ArrayList<String>();
  
            // 填充arrlist1
            arrlist.add("A");
            arrlist.add("B");
            arrlist.add("C");
            arrlist.add("D");
            arrlist.add("E");
  
            // 打印arrlist
            System.out.println("原始 arrlist: "
                               + arrlist);
  
            // 使用subList()方法获取子列表
            System.out.println("\n端点索引超出顺序"
                               + " (fromIndex > toIndex)");
            List<String> arrlist2 = arrlist.subList(7, 2);
  
            // 打印子列表
            System.out.println("arrlist的子列表: " + arrlist2);
        }
  
        catch (IndexOutOfBoundsException e) {
            System.out.println("抛出异常: " + e);
        }
  
        catch (IllegalArgumentException e) {
            System.out.println("抛出异常: " + e);
        }
    }
}
原始 arrlist: [A, B, C, D, E]

端点索引超出顺序 (fromIndex > toIndex)
抛出异常: java.lang.IllegalArgumentException: fromIndex(7) > toIndex(2)

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程