跳到主要内容

Java ArrayList set() 方法

set() 方法的语法是:

arraylist.set(int index, E element)

这里,arraylistArrayList 类的一个对象。

set() 参数

set() 方法接受两个参数。

  • index - 要被替换元素的位置
  • element - 要存储在 index 位置的新元素

set() 返回值

  • 返回在 index 位置之前存在的元素
  • 如果 index 超出范围,则抛出 IndexOutOfBoundsException

示例 1:在 ArrayList 中替换元素

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() 方法将索引 1English)处的元素替换为 Java

注意:如果您不确定元素的索引号,可以使用 ArrayList indexOf() 方法。

ArrayList set() 与 add() 的比较

add()set() 方法的语法看起来相似。

// add() 的语法
arraylist.add(int index, E element)

// set() 的语法
arraylist.set(int index, E element)

并且,这两种方法都会向 arraylist 添加新元素。这就是为什么有些人认为这两种方法相似。

然而,它们之间存在一个主要区别。

  • set() 方法通过替换该位置上的旧元素,在指定位置添加新元素。
  • add() 方法通过将旧元素向右移动,将新元素添加到指定位置。

示例 2: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");

// 创建另一个与 languages1 相似的 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]

在上述示例中,我们创建了两个名为 languages1languages2 的 arraylist。我们使用了 ArrayList addAll() 方法,使这两个 arraylist 拥有相同的元素。

这里,

  • set() 方法替换了位置 1 上的 English 元素
  • add() 方法将 English 元素移至位置 2

要了解更多关于添加值的信息,请访问 Java ArrayList add()