Java Array Indexof
-
Obtenir l’index d’un élément dans un tableau de type
Integer
en Java - Obtenir l’index d’un élément de tableau en utilisant l’API Java 8 Stream en Java
-
Obtenir l’index d’un élément de tableau en utilisant
ArrayUtils.indexOf()
en Java
Cet article présente comment obtenir l’index d’un tableau en Java en utilisant différentes techniques.
Obtenir l’index d’un élément dans un tableau de type Integer
en Java
Il n’y a pas de méthode indexOf()
pour un tableau en Java, mais une ArrayList
est fournie avec cette méthode qui retourne l’index de l’élément spécifié. Pour accéder à la fonction indexOf()
, nous créons d’abord un tableau de Integer
et nous le convertissons ensuite en une liste en utilisant Arrays.asList()
.
Notez que nous utilisons une classe wrapper Integer
au lieu d’une primitive int
parce que asList()
n’accepte que les classes wrapper, mais elles renvoient le résultat sous forme de type de données primitives. Nous pouvons vérifier l’exemple suivant, où nous spécifions l’élément i.e. 8 à la méthode indexOf()
pour obtenir son index. Le résultat que nous obtenons de getIndex
est du type int
.
import java.util.Arrays;
public class ArrayIndexOf {
public static void main(String[] args) {
Integer[] array1 = {2, 4, 6, 8, 10};
int getIndex = Arrays.asList(array1).indexOf(8);
System.out.println("8 is located at " + getIndex + " index");
}
}
Production :
8 is located at 3 index
Obtenir l’index d’un élément de tableau en utilisant l’API Java 8 Stream en Java
Nous pouvons utiliser l’API Stream pour filtrer les éléments du tableau et obtenir la position de l’élément spécifié. IntStream est une interface qui permet à une int
primitive d’utiliser les fonctions Stream comme filter
et range
.
range()
est une méthode de IntStream
qui renvoie les éléments de la position de départ jusqu’à la fin du tableau. Maintenant nous utilisons filter()
qui prend un prédicat comme argument. Nous utilisons i -> elementToFind == array1[i]
comme prédicat où i
est la valeur reçue de range()
et elementToFind == array1[i]
est la condition pour vérifier si le elementToFind
correspond à l’élément courant du array1
.
findFirst()
renvoie le premier élément et orElse()
renvoie -1 si la condition échoue.
import java.util.stream.IntStream;
public class ArrayIndexOf {
public static void main(String[] args) {
int[] array1 = {1, 3, 5, 7, 9};
int elementToFind = 3;
int indexOfElement = IntStream.range(0, array1.length)
.filter(i -> elementToFind == array1[i])
.findFirst()
.orElse(-1);
System.out.println("Index of " + elementToFind + " is " + indexOfElement);
}
}
Production :
Index of 3 is 1
Obtenir l’index d’un élément de tableau en utilisant ArrayUtils.indexOf()
en Java
Cet exemple utilise la classe ArrayUtls
qui est incluse dans la bibliothèque Apache Commons. Nous utilisons la dépendance ci-dessous pour importer les fonctions de la bibliothèque dans notre projet.
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.11</version>
</dependency>
Nous utilisons la fonction indexOf()
de la classe ArrayUtils
pour trouver l’index du tableau. indexOf()
accepte deux arguments, le premier argument est le tableau, et le second argument est l’élément dont nous voulons trouver l’index.
import org.apache.commons.lang3.ArrayUtils;
public class ArrayIndexOf {
public static void main(String[] args) {
int[] array1 = {1, 3, 5, 7, 9};
int elementToFind = 9;
int indexOfElement = ArrayUtils.indexOf(array1, elementToFind);
System.out.println("Index of " + elementToFind + " is " + indexOfElement);
}
}
Production :
Index of 9 is 4
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