Java 배열 색인

Rupam Yadav 2023년10월12일
  1. Java에서Integer 유형 배열의 요소 색인 가져 오기
  2. Java에서 Java 8 Stream API를 사용하여 배열 요소의 인덱스 가져 오기
  3. Java에서ArrayUtils.indexOf()를 사용하여 배열 요소의 인덱스 가져 오기
Java 배열 색인

이 기사에서는 다양한 기술을 사용하여 Java에서 배열의 인덱스를 얻는 방법을 소개합니다.

Java에서Integer 유형 배열의 요소 색인 가져 오기

Java에서 배열에 대한indexOf()메소드는 없지만ArrayList는 지정된 요소의 색인을 반환하는이 메소드와 함께 제공됩니다. indexOf()함수에 액세스하려면 먼저Integer 배열을 생성 한 다음Arrays.asList()를 사용하여 목록으로 변환합니다.

asList()는 래퍼 클래스 만 허용하지만 결과를 기본 데이터 유형으로 반환하기 때문에 기본int 대신 래퍼 클래스Integer를 사용합니다. 인덱스를 얻기 위해indexOf()메소드에 8 요소를 지정하는 다음 예제를 확인할 수 있습니다. getIndex에서 얻은 결과는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");
  }
}

출력:

8 is located at 3 index

Java에서 Java 8 Stream API를 사용하여 배열 요소의 인덱스 가져 오기

Stream API를 사용하여 배열 항목을 필터링하고 지정된 요소의 위치를 ​​가져올 수 있습니다. IntStream은 프리미티브intfilterrange와 같은 Stream 함수를 사용할 수 있도록하는 인터페이스입니다.

range()는 시작 위치부터 배열 끝까지 요소를 반환하는IntStream의 메서드입니다. 이제 우리는 술어를 인자로받는filter()를 사용합니다. i -> elementToFind == array1[i]를 술어로 사용합니다. 여기서irange()에서받은 값이고elementToFind == array1[i]elementToFindarray1의 현재 요소와 일치합니다.

findFirst()는 첫 번째 요소를 반환하고orElse()는 조건이 실패하면 -1을 반환합니다.

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);
  }
}

출력:

Index of 3 is 1

Java에서ArrayUtils.indexOf()를 사용하여 배열 요소의 인덱스 가져 오기

이 예제는 Apache Commons Library에 포함 된ArrayUtls 클래스를 사용합니다. 아래 종속성을 사용하여 라이브러리 함수를 프로젝트로 가져옵니다.

  <dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.11</version>
  </dependency>

배열의 인덱스를 찾기 위해ArrayUtils 클래스의indexOf()함수를 사용합니다. indexOf()는 두 개의 인수를받습니다. 첫 번째 인수는 배열이고 두 번째 인수는 인덱스를 찾고자하는 요소입니다.

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);
  }
}

출력:

Index of 9 is 4
작가: 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

관련 문장 - Java Array