English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
O método set() do ArrayList do Java substitui o elemento na posição especificada pelo elemento do arraylist.
A sintaxe do método set() é:
arraylist.set(int index, E element)
O método set() tem dois parâmetros.
índice - posição do elemento substituído
element - Novo elemento a ser armazenado no índice
Retorna o elemento anterior que aparecia no índice
AtençãoSe o índice especificado estiver fora do intervalo, o método set() lançará uma exceção IndexOutOfBoundsException.
import java.util.ArrayList; class Main { public static void main(String[] args) { //criar ArrayList ArrayList<String> languages = new ArrayList<>(); //adicionar elementos ao ArrayList languages.add("Python"); languages.add("English"); languages.add("JavaScript"); System.out.println("ArrayList: " + "" + languages); //índice de substituição1o elemento String element = languages.set(1, "Java" + ") System.out.println("ArrayList atualizada: " + languages); System.out.println("Elemento substituído: " + element); } }
Resultados de Saída
ArrayList: [Python, English, JavaScript] ArrayList atualizada: [Python, Java, JavaScript] elemento substituído: "English"
No exemplo acima, criamos um ArrayList chamado languages. Aqui, usamos o método set() para substituir o elemento no índice1(English) substituir por Java.
AtençãoSe não souber o índice de um elemento, pode usarArrayList indexOf()métodos.
A sintaxe dos métodos add() e set() parece muito semelhante.
// Sintaxe de add() arraylist.add(int index, E element) // Sintaxe de set() arraylist.set(int index, E element)
E, ambos os métodos adicionam um novo elemento ao arraylist. É por isso que algumas pessoas acham que esses métodos são semelhantes.
Mas, existem diferenças principais entre eles.
O método set() tem a função de: adicionar um novo elemento na posição especificada, substituindo o elemento antigo naquela posição.
O método add() tem a função de: adicionar um novo elemento na posição especificada, movendo o elemento antigo para a posição correta.
import java.util.ArrayList; class Main { public static void main(String[] args) { //criar ArrayList ArrayList<String> linguagens1 = new ArrayList<>(); //adicionar elementos ao ArrayList linguagens1.add("Python"); linguagens1.add("English"); linguagens1.add("JavaScript"); //criar outro com linguagem1ArrayList semelhantes ArrayList<String> linguagens2 = new ArrayList<>(); //definir linguagens1adicionar todos os elementos em linguagens2em linguagens2.addAll(linguagens1); System.out.println("ArrayList: " + "" + linguagens1); //usando o método set() linguagens1.set(1, "Java" + ") System.out.println("ArrayList após set(): " + "" + linguagens1); //usando o método add() linguagens2.add(1, "Java" + ") System.out.println("ArrayList após add(): " + "" + linguagens2); } }
Resultados de Saída
ArrayList: [Python, English, JavaScript] ArrayList após o set(): [Python, Java, JavaScript] ArrayList após o add(): [Python, Java, English, JavaScript]
No exemplo acima, criamos dois ArrayList chamados languages1e languages2do ArrayList. UsamosArrayList addAll()métodos, para que dois ArrayList tenham os mesmos elementos.
Aqui,
O método set() substitui o elemento na posição1O elemento English na posição
O método add() move o elemento English para a posição2
Pode ser acessadoJava ArrayList add()para obter mais informações.