Mudar um Array em Java

Rupam Yadav 12 outubro 2023
  1. Use o loop for e uma variável temp para deslocar um array em Java
  2. Use o método skip() para mudar um array em Java 8
  3. Use o Collections.rotate(List<type> list, int distance) para Shift an Array em Java
Mudar um Array em Java

Neste artigo, examinaremos as maneiras de mudar um elemento de um array em Java.

Use o loop for e uma variável temp para deslocar um array em Java

Neste código, temos uma variável array que é uma coleção de variáveis ​​do tipo int. Aqui, estamos tentando puxar o elemento no índice 2 dado pela variável n, e ele vai para o índice zero do array.

Para atingir esse objetivo, passamos o array e o índice no método ShiftToRight que consiste em um loop for. Armazenamos nosso elemento no índice n em uma variável temp.

temp = a[n];
i.e.temp = [ 2 ] i.e.temp = a[2] i.e.temp = 3;

A primeira iteração:

for (i = 2; i > 0; i--) i.e.for (i = 2; 2 > 0; i--)
a[i] = a[i - 1];
i.e.a[2] = a[2 - 1] i.e.a[2] = a[1] i.e.a[2] = 2

A segunda iteração:

for (i = 1; 1 > 0; i--) ```

```java
a[i] = a[i - 1];
i.e.a[1] = a[1 - 1] i.e.a[1] = a[0] i.e.a[1] = 1

Como i(0) não é maior que 0, saímos do loop for.

a[0] = temp i.e.a[0] = 3

Os elementos na matriz que vem após o valor de índice passado permanecem inalterados. Nesse caso, os dois últimos elementos permanecem em seu índice original após a mudança.

import java.util.Arrays;

public class ShiftTest {
  public static void main(String args[]) {
    int[] array = {1, 2, 3, 4, 5};
    int n = 2;
    System.out.println("Array " + Arrays.toString(array));
    ShiftToRight(array, n);
  }
  public static void ShiftToRight(int a[], int n) {
    int temp = a[n];

    for (int i = n; i > 0; i--) {
      a[i] = a[i - 1];
    }

    a[0] = temp;

    System.out.println("Array after shifting to right by one : " + Arrays.toString(a));
  }
}

Resultado:

Array [1, 2, 3, 4, 5]
Array after shifting to right by one : [3, 1, 2, 4, 5]

Use o método skip() para mudar um array em Java 8

O método skip() em Java 8 descarta o número n de elementos no fluxo e retorna um fluxo que consiste nos elementos restantes. Se o fluxo contiver menos do que n elementos, ele retornará um fluxo vazio.

Convertemos o array em um fluxo usando o método Arrays.stream() e chamamos o método skip() passando 1 para ele. Ele pula o primeiro elemento do array. Posteriormente, usando o formato lambda, imprimimos cada elemento do fluxo retornado.

import java.util.Arrays;
public class TestArray {
  public static void main(String[] args) {
    int[] array = {1, 2, 3, 4, 5, 6, 7};
    Arrays.stream(array).skip(1).forEach(System.out::println);
  }
}

Resultado:

ShiftedArray: [2, 3, 4, 5, 6, 7]

Use o Collections.rotate(List<type> list, int distance) para Shift an Array em Java

Para mudar nosso array em um, usamos este método que gira os elementos fornecidos em uma lista de Collection por uma determinada distância. Usamos Arrays.asList() para converter nosso array em lista. A lista é rodada no índice 2.

Ele move cada elemento da lista pela distância especificada e o elemento cujo índice é maior que o comprimento fornecido é movido para o início da lista.

import java.util.Arrays;
import java.util.Collections import java.util.List;

public class Test11 {
  public static void main(String args[]) {
    String[] strArray = {"One", "Two", "Three", "Four", "Five"};
    System.out.println("Original List : " + Arrays.toString(strArray));

    List<String> list = Arrays.asList(strArray);
    Collections.rotate(list, 2);

    System.out.println("Rotated List: " + list);
  }
}

Resultado:

Original List : [One, Two, Three, Four, Five]
Rotated List: [Four, Five, One, Two, Three]
Rupam Yadav avatar Rupam Yadav avatar

Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.

LinkedIn

Artigo relacionado - Java Array