Java

Como seria criar o Update de algum elemento do Array?

Oi, :coffee:

Não entendi bem a pergunta, poderia ser mais específica? Você fala substituir o valor de um determinado elemento de um array?

Isso, mudar o valor de um determinado elemento

meuArray[posicaoDesejada] = novoElemento;

Exatamente com o staroski disse, veja outro exemplo abaixo:

public class Main {
	public static void main(String[] args) {
		int[] array = new int[5]; //array com 5 posições
		array[0] = 1; //array começa em 0 e termina em 4, no total 5 posições
		array[1] = 2;
		array[2] = 3;
		array[3] = 4;
		array[4] = 5;
		
		array[2] = 552; //altera o elemento do array na posição 3;
		
		for (int i = 0; i < array.length(); i++) { //iterar sobre todas as posiçoes do array
			//imprime o resultado de cada posição na tela
			System.out.println("Posição do array: " + i + " -> Elemento do array: " + array[i]);
		}
	}
}
1 curtida

ok, Mas tem como fazer essa atualização quando é uma lista?? e não se sabe quantas posições tem

@Vivian_Marinho
Tem sim Vivian, nesses casos é necessário iterar sobre todos os elementos da lista procurando o elemento que deseja remover, depois você pode removê-lo e adicionar outro na mesma posição se assim desejar, veja exemplo:

import java.util.ArrayList;
import java.util.List;

public class Application {

	public static void main(String[] args) {
		List<String> nomes = new ArrayList<>();
		nomes.add("Vivian");
		nomes.add("Staroski");
		nomes.add("Willian");
		
		for (int i = 0; i < nomes.size(); i++) {
			if (nomes.get(i).equals("Willian")) {
				nomes.remove(i); //Remove Williian
				nomes.add(i, "Substituto"); //Adiciona outro na mesma posição
			}
			System.out.println(nomes.get(i)); //imprime os elementos da lista
		}
	}
}

No caso acima é uma lista de Strings, se for uma lista de Inteiros ao invés de utilizar o equals, utilize o ==

1 curtida

Também você pode usar os métodos indexOf para pegar o índice da primeira ocorrência do elemento desejado e set para trocar o elemento da posição desejada!

import java.util.ArrayList;
import java.util.List;

public class Main{

	public static void main(String[] args) {
		List<String> nomes = new ArrayList<>();
		nomes.add("Vivian");
		nomes.add("Staroski");
		nomes.add("Willian");
        nomes.add("J");
		
		int i = nomes.indexOf("Willian"); /*Índice do elemento a ser substituído!*/           
		nomes.set(i,"Outra pessoa");
		
		System.out.println(nomes.get(i)); //imprime o elemento da lista
	}
}

Documentação Java 8 - ArrayList.

1 curtida