Java를 사용하여 목록에서 요소의 인덱스 찾기
목록으로 작업할 때 특정 요소의 색인을 찾아야 할 수도 있습니다. 경우에 따라 색인 찾기가 중요해지기 때문입니다.
직원
목록으로 작업 중이고 특정 직원
일련 번호를 찾아야 한다고 가정합니다. 이 경우 목록에서 특정 직원
인덱스를 찾아야 합니다.
이 기사에서는 indexOf()
메서드, Stream
API 및 루프를 사용하여 목록의 특정 요소 인덱스를 찾는 방법을 배웁니다.
방법 1: indexOf()
방법을 사용하여 인덱스 찾기
indexOf()
메서드를 사용하여 특정 목록 요소의 인덱스를 쉽게 찾을 수 있습니다. 이 목적에 대한 설명과 함께 아래 예제 코드를 따를 수 있습니다.
예제 코드:
// importing necessary packages
import java.util.List;
public class FindIndex {
public static void main(String[] args) {
// Creating a list
List<Integer> MyVal = List.of(5, 10, 4, 3, 6, 2, 80, 6);
// Specifying the item
int FindItem = 80;
// Finding the index
int Index = MyVal.indexOf(FindItem);
// printing the index for the specific item
System.out.println("The index is: " + Index);
}
}
출력:
The index is: 6
예제에서는 먼저 MyVal
이라는 목록을 가져오고 인덱스를 찾을 항목도 가져옵니다. 그런 다음 찾고 있는 항목과 함께 indexOf()
메서드에 전달했습니다.
항목이 목록에서 발견되면 색인을 인쇄합니다. 그렇지 않으면 -1
을 반환합니다. 이는 찾고 있는 항목을 찾을 수 없음을 의미합니다.
방법 2: Stream
API를 사용하여 인덱스 찾기
이 방법에서는 Stream
API를 사용하여 목록에서 특정 요소의 인덱스를 찾습니다. 이 접근 방식을 사용하려면 아래 예제 코드와 해당 설명을 따를 수 있습니다.
예제 코드:
// importing necessary packages
import java.util.List;
import java.util.Objects;
import java.util.stream.IntStream;
public class FindIndex {
public static void main(String[] args) {
// Creating a list
List<Integer> MyVal = List.of(5, 10, 4, 3, 6, 2, 80, 6);
// Specifying the item
int FindItem = 80;
// Finding the index
int Index = IntStream.range(0, MyVal.size())
.filter(i -> Objects.equals(MyVal.get(i), FindItem))
.findFirst()
.orElse(-1);
// printing the index for the specific item
System.out.println("The index is: " + Index);
}
}
출력:
The index is: 6
위의 코드 펜스에서 먼저 MyVal
이라는 목록을 가져오고 찾으려는 인덱스 항목도 가져옵니다.
그런 다음 IntStream
에 전달하여 요소를 필터링하고 제공한 요소의 인덱스를 찾습니다. 항목이 MyVal
목록에 있으면 인덱스를 얻습니다. 그렇지 않으면 -1
이 출력으로 표시됩니다.
방법 3: 루프를 사용하여 인덱스 찾기
또한 루프(프로젝트 요구 사항에 따라 for
, while
또는 do...while
)를 사용하여 목록에서 특정 요소의 인덱스를 찾을 수 있습니다. 이를 이해하려면 아래 예제 코드와 설명을 살펴보십시오.
예제 코드:
// importing necessary packages
import java.util.List;
import java.util.Objects;
public class FindIndex {
public static void main(String[] args) {
// Creating a list
List<Integer> MyVal = List.of(5, 10, 4, 3, 6, 2, 80, 6);
// Specifying the item
int FindItem = 80;
int Index = -1;
// Finding the index
for (int i = 0; i < MyVal.size(); i++) {
if (Objects.equals(MyVal.get(i), FindItem)) {
Index = i;
break;
}
}
// printing the index for the specific item
System.out.println("The index is: " + Index);
}
}
출력:
The index is: 6
여기서는 먼저 MyVal
이라는 목록을 가져오고 인덱스를 찾으려는 항목도 가져옵니다. 그런 다음 루프를 사용하여 목록을 반복하고 모든 요소를 찾고 있는 항목과 일치시킵니다.
필요한 항목을 찾으면 인덱스를 변수에 저장하고 루프를 중단하여 추가 반복을 방지합니다. break
키워드를 사용하여 모양을 깨뜨릴 수 있습니다.
앞의 두 예제와 마찬가지로 이 접근 방식은 지정된 항목이 목록에서 발견되면 인덱스를 반환하고 그렇지 않으면 -1
을 반환합니다.
Aminul Is an Expert Technical Writer and Full-Stack Developer. He has hands-on working experience on numerous Developer Platforms and SAAS startups. He is highly skilled in numerous Programming languages and Frameworks. He can write professional technical articles like Reviews, Programming, Documentation, SOP, User manual, Whitepaper, etc.
LinkedIn