Java ArrayList set() 方法

set() 方法的语法是:

arraylist.set(int index, E element)

在这里,arraylist对象ArrayList 类的一个 对象


set() 参数

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

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

set() 返回值

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

示例 1:替换 ArrayList 中的元素

import java.util.ArrayList;

class Main {
  public static void main(String[] args) {

    // create an ArrayList
    ArrayList<String> languages = new ArrayList<>();

    // add elements to ArrayList
    languages.add("Python");
    languages.add("English");
    languages.add("JavaScript");
    System.out.println("ArrayList: " + languages);

    // replace element at index 1
    String element = languages.set(1, "Java");
    System.out.println("Updated ArrayList: " + languages);
    System.out.println("Replaced Element: " + element);
  }
}

输出

ArrayList: [Python, English, JavaScript]
Updated ArrayList: [Python, Java, JavaScript]
Replaced Element: English

在上面的示例中,我们创建了一个名为 languages 的 ArrayList。在这里,我们使用 set() 方法将索引为 1 的元素(English)替换为 Java

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


ArrayList set() 与 add() 的区别

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

// syntax of add()
arraylist.add(int index, E element)

// syntax of 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) {

    // create an ArrayList
    ArrayList<String> languages1 = new ArrayList<>();

    // add elements to ArrayList
    languages1.add("Python");
    languages1.add("English");
    languages1.add("JavaScript");

    // create another ArrayList similar to languages1
    ArrayList<String> languages2 = new ArrayList<>();

    // adds all elements from languages1 to languages2
    languages2.addAll(languages1);
    System.out.println("ArrayList: " + languages1);

    // use of set()
    languages1.set(1, "Java");
    System.out.println("ArrayList after set(): " + languages1);

    // use of add()
    languages2.add(1, "Java");
    System.out.println("ArrayList after add(): " + languages2);

  }
}

输出

ArrayList: [Python, English, JavaScript]
ArrayList after set(): [Python, Java, JavaScript]
ArrayList after add(): [Python, Java, English, JavaScript]

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

这里,

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

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

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战