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/
최신 댓글