Java中的Stack subList()方法示例
Java.util.Stack 类的 subList() 方法用于返回介于指定的fromIndex(包括)和toIndex(不包括)之间的该Stack的一部分的视图。(如果fromIndex和toIndex相等,则返回的Stack为空。)
返回的Stack由此Stack支撑,因此在返回的Stack中进行的非结构性更改会反映在此Stack中,反之亦然。返回的Stack支持所有可选的操作。
语法:
public Stack subList(int fromIndex, int toIndex)
参数: 此方法将以下参数作为参数。
- fromIndex – 子列表的低端点(包括)
- toIndex – 子列表的高端点(不包括)
返回值: 此方法返回此Stack中指定范围的视图。
异常: 此方法抛出以下异常。
- IndexOutOfBoundsException – 如果一个端点索引值超出范围(fromIndex大小)
- IllegalArgumentException – 如果端点指数顺序错误(fromIndex > toIndex)
以下是说明subList()方法的示例。
示例1:
//演示Java程序
//subList()方法
//用于字符串值
import java.util.*;
public class GFG1 {
public static void main(String[] argv)
throws Exception
{
try {
//创建对象Stack<Integer>
Stack<String>
stack = new Stack<String>();
//填充stack1
stack.add("A");
stack.add("B");
stack.add("C");
stack.add("D");
stack.add("E");
//打印stack
System.out.println("原始栈: "
+ stack);
//使用subList()方法获取子列表
List<String> stack2 = stack.subList(2, 4);
//打印子列表
System.out.println("Stack的子堆栈: "
+ stack2);
}
catch (Exception e) {
System.out.println(e);
}
}
}
原始栈: [A, B, C, D, E]
Stack的子堆栈: [C, D]
示例2: 对于IndexOutOfBoundsException
// 演示 subList() 方法的 Java 程序
// 用于 IndexOutOfBoundsException
import java.util.*;
public class GFG1 {
public static void main(String[] argv)
throws Exception
{
try {
// 创建 Stack 对象
Stack
stack = new Stack();
// 填充 stack1
stack.add("A");
stack.add("B");
stack.add("C");
stack.add("D");
stack.add("E");
// 打印 stack
System.out.println("Original stack: "
+ stack);
// 使用 subList() 方法获取子列表
System.out.println("\nEnd index value is out of range");
List stack2 = stack.subList(2, 7);
// 打印子列表
System.out.println("SubStack of stack: "
+ stack2);
}
catch (Exception e) {
System.out.println(e);
}
}
}
Original stack: [A, B, C, D, E]
End index value is out of range
java.lang.IndexOutOfBoundsException: toIndex = 7
例子 3: 对于 IllegalArgumentException
// 演示 subList() 方法的 Java 程序
// 用于 IllegalArgumentException
import java.util.*;
public class GFG1 {
public static void main(String[] argv) throws Exception
{
try {
// 创建 Stack 对象
Stack
stack = new Stack();
// 填充 stack1
stack.add("A");
stack.add("B");
stack.add("C");
stack.add("D");
stack.add("E");
// 打印 stack
System.out.println("Original stack: "
+ stack);
// 使用 subList() 方法获取子列表
System.out.println("\nEndpoint indices "
+ "are out of order"
+ " (fromIndex > toIndex)");
List stack2 = stack.subList(7, 2);
// 打印子列表
System.out.println("SubStack of stack: "
+ stack2);
}
catch (Exception e) {
System.out.println(e);
}
}
}
Original stack: [A, B, C, D, E]
Endpoint indices are out of order (fromIndex > toIndex)
java.lang.IllegalArgumentException: fromIndex(7) > toIndex(2)