Cambiar un array en Java

Rupam Yadav 12 octubre 2023
  1. Utilice el bucle for y una variable temp para cambiar un array en Java
  2. Utilice el método skip() para cambiar un array en Java 8
  3. Utilice Collections.rotate(List<type> list, int distance) para cambiar un array en Java
Cambiar un array en Java

En este artículo, veremos las formas de cambiar un elemento de un array en Java.

Utilice el bucle for y una variable temp para cambiar un array en Java

En este código, tenemos una variable array que es una colección de variables de tipo int. Aquí, estamos tratando de tirar del elemento en el índice 2 dado por la variable n, y va al índice cero del array.

Para lograr este propósito, pasamos la array y el índice al método ShiftToRight que consiste en un bucle for. Almacenamos nuestro elemento en el índice n en una variable temp.

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

La primera iteración:

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

La segunda iteración:

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) no es mayor que 0, salimos del bucle for.

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

Los elementos de la array que viene después del valor de índice pasado permanecen sin cambios. En este caso, los dos últimos elementos permanecen en su índice original después del cambio.

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));
  }
}

Producción :

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

Utilice el método skip() para cambiar un array en Java 8

El método skip() en Java 8 descarta el número n de elementos en la secuencia y devuelve una secuencia que consta de los elementos restantes. Si la secuencia contiene menos de n elementos, devuelve una secuencia vacía.

Convertimos la array en una secuencia usando el método Arrays.stream() y llamamos al método skip() pasándole 1. Omite el primer elemento del array. Posteriormente, utilizando el formato lambda, imprimimos cada elemento del flujo devuelto.

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);
  }
}

Producción :

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

Utilice Collections.rotate(List<type> list, int distance) para cambiar un array en Java

Para cambiar nuestra matriz en uno, usamos este método que rota los elementos dados en una lista de Collection en una distancia determinada. Usamos Arrays.asList() para convertir nuestra array en lista. La lista se rota en el índice 2.

Mueve cada elemento de la lista por la distancia especificada, y el elemento cuyo índice es mayor que la longitud dada se mueve al principio de la 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);
  }
}

Producción :

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

Artículo relacionado - Java Array