Déplacer un tableau en Java
-
Utilisez la boucle
for
et une variabletemp
pour décaler un tableau en Java -
Utilisez la méthode
skip()
pour déplacer un tableau dans Java 8 -
Utilisez la
Collections.rotate(List<type> list, int distance)
pour décaler un tableau en Java
Dans cet article, nous verrons comment déplacer un élément d’un tableau en Java.
Utilisez la boucle for
et une variable temp
pour décaler un tableau en Java
Dans ce code, nous avons une variable array
qui est une collection de variables de type int
. Ici, nous essayons de tirer l’élément à l’index 2 donné par la variable n
, et il va à l’index zéro du tableau.
Pour atteindre cet objectif, nous passons le tableau
et l’index dans la méthode ShiftToRight
qui consiste en une boucle for
. Nous stockons notre élément à l’indice n
dans une variable temp
.
temp = a[n];
i.e.temp = [ 2 ] i.e.temp = a[2] i.e.temp = 3;
La première itération :
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 deuxième itération :
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
Comme i(0)
n’est pas supérieur à 0, on sort de la boucle for
.
a[0] = temp i.e.a[0] = 3
Les éléments du tableau
qui viennent après la valeur d’index transmise restent inchangés. Dans ce cas, les deux derniers éléments restent à leur indice d’origine après décalage.
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));
}
}
Production:
Array [1, 2, 3, 4, 5]
Array after shifting to right by one : [3, 1, 2, 4, 5]
Utilisez la méthode skip()
pour déplacer un tableau dans Java 8
La méthode skip()
de Java 8 supprime le nombre n
d’éléments dans le flux et renvoie un flux composé des éléments restants. Si le flux contient moins de n
éléments, il renvoie un flux vide.
Nous convertissons le tableau
en un flux en utilisant la méthode Arrays.stream()
et appelons la méthode skip()
en lui passant 1. Il saute le premier élément du tableau. Plus tard en utilisant le format lambda
, nous imprimons chaque élément du flux renvoyé.
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);
}
}
Production:
ShiftedArray: [2, 3, 4, 5, 6, 7]
Utilisez la Collections.rotate(List<type> list, int distance)
pour décaler un tableau en Java
Pour décaler notre tableau de un, nous utilisons cette méthode qui fait pivoter les éléments donnés dans une liste de Collection
d’une distance donnée. Nous utilisons Arrays.asList()
pour convertir notre array
en liste. La liste est tournée à l’index 2.
Il déplace chaque élément de la liste de la distance spécifiée, et l’élément dont l’indice est supérieur à la longueur donnée est déplacé au début de la liste.
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);
}
}
Production:
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