Java 8 Stream에서 index 사용

Java 8에서 Stream 사용 시 인덱스(index)를 사용하는 방법 2가지

//IntStream을 사용하는 방법
import java.util.stream.IntStream; 
  
class GFG { 
    public static void main(String[] args) 
    { 
        String[] array = { "G", "e", "e", "k", "s" }; 
  
        IntStream 
            .range(0, array.length) 
            .mapToObj(index -> String.format("%d -> %s", index, array[index])) 
            .forEach(System.out::println); 
    } 
} 
// AtomicInteger 을 이용하는 방법
import java.util.stream.IntStream; 
import java.util.*; 
import java.util.concurrent.atomic.AtomicInteger; 
  
class GFG { 
    public static void main(String[] args) 
    { 
        String[] array = { "G", "e", "e", "k", "s" }; 
  
        AtomicInteger index = new AtomicInteger();   
        Arrays
            .stream(array)              
            .map(str -> index.getAndIncrement() + " -> " + str)  // 0부터 시작한다.
            .forEach(System.out::println); 
    } 
} 

출처 : https://www.geeksforgeeks.org/program-to-iterate-over-a-stream-with-indices-in-java-8/

You may also like...

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다