Java ArrayList set()方法将指定位置中的元素替换为arraylist中的指定元素。
set()方法的语法为:
arraylist.set(int index, E element)
set()方法有两个参数。
index - 被替换元素的位置
element - 要存储在index的新元素
返回先前在index处出现的元素
注意:如果指定的索引超出范围,则set()方法将抛出IndexOutOfBoundsException。
import java.util.ArrayList; class Main { public static void main(String[] args) { //创建 ArrayList ArrayList<String> languages = new ArrayList<>(); //向ArrayList添加元素 languages.add("Python"); languages.add("English"); languages.add("JavaScript"); System.out.println("ArrayList: " + languages); //替换索引1处的元素 String element = languages.set(1, "Java"); System.out.println("更新后的 ArrayList: " + languages); System.out.println("被替换的元素: " + element); } }
输出结果
ArrayList: [Python, English, JavaScript] 更新后的 ArrayList: [Python, Java, JavaScript] 被替换的元素: English
在上面的示例中,我们创建了一个名为languages的ArrayList。在这里,我们使用的set()方法将索引1(English)的元素替换为Java。
注意:如果不确定某个元素的索引号,则可以使用ArrayList indexOf()方法。
add()和set()方法的语法看起来非常相似。
// add() 语法 arraylist.add(int index, E element) // set() 语法 arraylist.set(int index, E element)
并且,这两种方法都将新元素添加到arraylist中。这就是为什么有些人认为这两种方法相似。
但是,它们之间存在主要区别。
set() 方法的作用是:通过替换指定位置的旧元素,在指定位置添加新元素。
add() 方法的作用是:通过将旧元素移到正确的位置,在指定位置添加新元素。
import java.util.ArrayList; class Main { public static void main(String[] args) { //创建 ArrayList ArrayList<String> languages1 = new ArrayList<>(); //向ArrayList添加元素 languages1.add("Python"); languages1.add("English"); languages1.add("JavaScript"); //创建另一个与language1类似的ArrayList ArrayList<String> languages2 = new ArrayList<>(); //将languages1中的所有元素添加到languages2中 languages2.addAll(languages1); System.out.println("ArrayList: " + languages1); //使用 set() 方法 languages1.set(1, "Java"); System.out.println("set()之后的ArrayList: " + languages1); //使用 add() 方法 languages2.add(1, "Java"); System.out.println("add()之后的ArrayList: " + languages2); } }
输出结果
ArrayList: [Python, English, JavaScript] set()之后的ArrayList: [Python, Java, JavaScript] add()之后的ArrayList: [Python, Java, English, JavaScript]
在上面的示例中,我们创建了两个名为languages1和languages2的ArrayList。我们使用了ArrayList addAll()方法,以便两个arraylist具有相同的元素。
这里,
set()方法替换位置1处的English元素
add()方法将元素English移至位置2
可以访问Java ArrayList add()以了解有关的更多信息。