Cambiar un array en Java
-
Utilice el bucle
for
y una variabletemp
para cambiar un array en Java -
Utilice el método
skip()
para cambiar un array en Java 8 -
Utilice
Collections.rotate(List<type> list, int distance)
para 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 Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn