Java Array Indexof
-
Index eines Elements in einem Array vom Typ
Integer
in Java ermitteln - Index eines Array-Elements mit Java 8 Stream API in Java abrufen
-
Index eines Array-Elements mit
ArrayUtils.indexOf()
in Java ermitteln
Dieser Artikel stellt vor, wie man den Index eines Arrays in Java mit verschiedenen Techniken ermitteln kann.
Index eines Elements in einem Array vom Typ Integer
in Java ermitteln
Es gibt keine indexOf()
-Methode für ein Array in Java, aber eine ArrayList
kommt mit dieser Methode, die den Index des angegebenen Elements zurückgibt. Um auf die Funktion indexOf()
zuzugreifen, erstellen wir zunächst ein Array von Integer
und wandeln es dann mit Arrays.asList()
in eine Liste um.
Beachten Sie, dass wir eine Wrapper-Klasse Integer
anstelle eines primitiven int
verwenden, da asList()
nur Wrapper-Klassen akzeptiert, die aber das Ergebnis als primitiven Datentyp zurückgeben. Wir können das folgende Beispiel überprüfen, in dem wir das Element, d.h. 8, an die Methode indexOf()
übergeben, um seinen Index zu erhalten. Das Ergebnis, das wir von getIndex
erhalten, ist vom Typ 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");
}
}
Ausgabe:
8 is located at 3 index
Index eines Array-Elements mit Java 8 Stream API in Java abrufen
Wir können die Stream-API verwenden, um die Array-Elemente herauszufiltern und die Position des angegebenen Elements zu erhalten. IntStream
ist eine Schnittstelle, die es einem primitiven int
erlaubt, die Stream-Funktionen wie filter
und range
zu verwenden.
range()
ist eine Methode von IntStream
, die die Elemente von der Startposition bis zum Ende des Arrays zurückgibt. Jetzt verwenden wir filter()
, das ein Prädikat als Argument nimmt. Wir verwenden i -> elementToFind == array1[i]
als Prädikat, wobei i
der von range()
erhaltene Wert ist und elementToFind == array1[i]
die Bedingung ist, um zu prüfen, ob das elementToFind
mit dem aktuellen Element des array1
übereinstimmt.
findFirst()
gibt das erste Element zurück und orElse()
gibt -1 zurück, wenn die Bedingung fehlschlägt.
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);
}
}
Ausgabe:
Index of 3 is 1
Index eines Array-Elements mit ArrayUtils.indexOf()
in Java ermitteln
Dieses Beispiel verwendet die Klasse ArrayUtls
, die in der Apache Commons Library enthalten ist. Wir verwenden die unten stehende Abhängigkeit, um die Bibliotheksfunktionen in unser Projekt zu importieren.
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.11</version>
</dependency>
Wir verwenden die Funktion indexOf()
der Klasse ArrayUtils
, um den Index des Arrays zu ermitteln. indexOf()
akzeptiert zwei Argumente, das erste Argument ist das Array und das zweite Argument ist das Element, dessen Index wir finden wollen.
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);
}
}
Ausgabe:
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