Gamme de tableaux en Java
- Utiliser un autre tableau pour obtenir une plage d’éléments d’un tableau en Java
-
Utilisez la méthode
copyOfRange()
pour obtenir une plage d’éléments d’un tableau en Java -
Utilisez l’objet
stream
pour obtenir une plage d’éléments d’un tableau en Java
Le découpage de tableau est effectué pour obtenir une plage d’éléments du tableau existant. C’est comme extraire un sous-tableau d’un tableau donné.
Ce didacticiel montre comment obtenir une plage d’éléments à partir d’un tableau existant.
Utiliser un autre tableau pour obtenir une plage d’éléments d’un tableau en Java
Nous allons copier les éléments requis dans un nouveau tableau dans cette méthode. Tout d’abord, nous devons trouver l’index de début et de fin du tableau en fonction de la plage donnée. Ensuite, nous devons créer un tableau vide de taille (endIndex
- startIndex
). Enfin, nous copions les éléments du tableau donné dans le tableau tranché et l’imprimons.
Voir le code ci-dessous.
import java.util.Arrays;
public class Main {
public static int[] getSlice(int[] array, int startIndex, int endIndex) {
int[] slicedArray = new int[endIndex - startIndex];
for (int i = 0; i < slicedArray.length; i++) {
slicedArray[i] = array[startIndex + i];
}
return slicedArray;
}
public static void main(String args[]) {
int[] array = {87, 56, 29, 11, 45, 33, 84, 4, 67, 73};
int startIndex = 4, endIndex = 9;
int[] slicedArray = getSlice(array, startIndex, endIndex + 1);
System.out.println("Slice of Array: " + Arrays.toString(slicedArray));
}
}
Production:
Slice of Array : [ 45, 33, 84, 4, 67, 73 ]
Il est conseillé d’utiliser cette méthode lorsqu’il s’agit uniquement d’un tableau de petites tailles. L’itération sur un tableau et la copie dans un autre tableau nécessitent beaucoup de mémoire et de temps.
Utilisez la méthode copyOfRange()
pour obtenir une plage d’éléments d’un tableau en Java
Cette méthode est définie dans la classe java.util.Arrays
. Cette méthode copie la plage spécifique d’éléments du tableau d’origine donné dans un nouveau tableau, puis renvoie ce tableau.
Par exemple,
import java.util.Arrays;
public class Main {
public static int[] slice(int[] array, int startIndex, int endIndex) {
int[] slicedArray = Arrays.copyOfRange(array, startIndex, endIndex);
return slicedArray;
}
public static void main(String args[]) {
int[] array = {87, 56, 29, 11, 45, 33, 84, 4, 67, 73};
int startIndex = 4, endIndex = 9;
int[] sliceArray = slice(array, startIndex, endIndex + 1);
System.out.println("Slice of Array: " + Arrays.toString(sliceArray));
}
}
Production:
Slice of Array : [ 45, 33, 84, 4, 67, 73 ]
Utilisez l’objet stream
pour obtenir une plage d’éléments d’un tableau en Java
Nous commençons par trouver le startIndex
et endIndex
de la plage dans cette méthode. Ensuite, nous devons convertir l’élément dans la plage requise en Primitive Stream en utilisant la méthode range()
. Ensuite, la méthode map()
est utilisée pour mapper les éléments requis pour la plage du tableau d’origine. Enfin, la méthode toArray()
convertit le tableau mappé en un tableau, et nous l’imprimons.
Voir le code ci-dessous.
import java.util.Arrays;
import java.util.stream.IntStream;
public class Main {
public static int[] findSlice(int[] array, int startIndex, int endIndex) {
int[] slcarray = IntStream.range(startIndex, endIndex).map(i -> array[i]).toArray();
return slcarray;
}
public static void main(String args[]) {
int[] array = {87, 56, 29, 11, 45, 33, 84, 4, 67, 73};
int startIndex = 4, endIndex = 9;
int[] slcarray = findSlice(array, startIndex, endIndex + 1);
System.out.println("Slice of array for the specified range is: " + Arrays.toString(slcarray));
}
}
Production:
Slice of Array: [45, 33, 84, 4, 67, 73]