Déplacer un tableau en Java

Rupam Yadav 12 octobre 2023
  1. Utilisez la boucle for et une variable temp pour décaler un tableau en Java
  2. Utilisez la méthode skip() pour déplacer un tableau dans Java 8
  3. Utilisez la Collections.rotate(List<type> list, int distance) pour décaler un tableau en Java
Déplacer 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]
Auteur: Rupam Yadav
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

Article connexe - Java Array