Java中的setElementAt()方法示例
在Java中,数组和集合都是常见的数据结构,其中集合更加灵活。Java中提供了许多集合类,如List、Set、Map等。
List是一种有序的集合,可以包含重复的元素。它有一个很实用的方法set(int index, E element),可以用来替换指定位置的元素。Set是一种无序的集合,不允许重复元素。虽然Set没有提供set()方法,但我们可以通过先把Set转换为List来实现替换操作。本文将着重介绍List的setElementAt()方法。
List中的setElementAt()方法
setElementAt()方法是List接口定义的一个方法,可以用来替换列表中指定位置的元素。它有两个参数,第一个参数是要替换的元素在列表中的下标,第二个参数是用于替换它的元素。
具体用法如下所示:
void setElementAt(Object obj, int index)
其中,obj是要替换的元素,index是要替换的元素在列表中的下标。如果下标越界会抛出IndexOutOfBoundsException异常。
下面是一些示例代码演示setElementAt()方法的使用。
示例1:替换列表中的元素
import java.util.ArrayList;
import java.util.List;
public class ListDemo {
public static void main(String[] args) {
// 创建一个包含10个元素的列表
List<String> list = new ArrayList<>();
for (int i = 1; i <= 10; i++) {
list.add("元素" + i);
}
System.out.println("替换前:" + list);
// 替换列表中下标为3的元素
list.setElementAt("新元素", 3);
System.out.println("替换后:" + list);
}
}
输出结果:
替换前:[元素1, 元素2, 元素3, 元素4, 元素5, 元素6, 元素7, 元素8, 元素9, 元素10]
替换后:[元素1, 元素2, 元素3, 新元素, 元素5, 元素6, 元素7, 元素8, 元素9, 元素10]
示例2:替换超出列表长度的元素
import java.util.ArrayList;
import java.util.List;
public class ListDemo {
public static void main(String[] args) {
// 创建一个包含3个元素的列表
List<String> list = new ArrayList<>();
for (int i = 1; i <= 3; i++) {
list.add("元素" + i);
}
System.out.println("替换前:" + list);
// 替换超出列表长度的元素
list.setElementAt("新元素", 5);
System.out.println("替换后:" + list);
}
}
输出结果:
替换前:[元素1, 元素2, 元素3]
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5
at java.util.Vector.elementAt(Vector.java:477)
at java.util.AbstractList.set(AbstractList.java:143)
at java.util.List.set(List.java:49)
at ListDemo.main(ListDemo.java:12)
结论
setElementAt()方法是List集合中用于替换元素的常用方法,通过指定下标即可完成替换操作。当下标越界时,会抛出IndexOutOfBoundsException异常。使用时需要注意保证下标在集合范围内。