[Java] guava 라이브러리를 사용하는 Stream의 mapWithIndex
개요
Java에는 Google에서 만든 Java를 쉽게 사용할 수 있는 프로그램 라이브러리
guava
가 있습니다.Google Java 편의점 Guva 시작의 글에서 소개한 바와 같이Table 형식의 데이터를 처리할 수도 있고cache의 구조를 간단하게 실현할 수도 있다.이번에는 이 쿠바의 라이브러리
mapWithIndex
에 있는 방법을 소개해 드리겠습니다.Stream의 맵 함수에 대한 index 가져오기
자바의 Stream에서 사용할 수 있는 맵 함수에서 index는 직접 가져올 수 없습니다.자바의 순환에서 색인 번호를 얻을 때의 고찰의 문장에서처럼 for문으로 만들거나Stream의 함수를 만들려면 할 방법이 많다.
다만, 자바스크립트의 맵 함수처럼 매개 변수를 추가하면 얻을 수 있고, 가볍고 유쾌하면 즐겁다.나는 그런 도서관이 있는지 없는지를 찾아보았다.참고로 자바스크립트에 대한 맵 함수는 [JavaScript] 공부보다 Aray의 맵 방법이 더 익숙한 것 같아요.에 대한 글에서 설명되어 있습니다.
guava의 Stream 라이브러리
그래서 발견된 라이브러리는 구바라고 구바는 버전 21부터 Stream까지 방법을 제공했다.New Stream, Comparator and Collector in Guava 21의 상세한 상황은 이미 정리되었는데 그 중에서 소개했다
mapWithIndex
.mapWithIndex의 구현 샘플
위 기사에서 소개한 맵위드 인덱스의 내용은 기본적으로 원형을 유지하고 있으며, 다음은 실제 샘플을 소개한다.
Stream을 첫 번째 매개변수의 모음(또는 배열), 두 번째 매개변수의 λ식으로 지정합니다.
Main.java
package com.sample;
import com.google.common.collect.Streams;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
List<String> results = Streams.mapWithIndex(
Arrays.asList("a", "b", "c").stream(),
(str, index) -> str + ":" + index
).collect(Collectors.toList());
results.stream().forEach(r -> {
System.out.println(r);
});
}
}
다음 결과를 내보냅니다.a:0
b:1
c:2
Reference
이 문제에 관하여([Java] guava 라이브러리를 사용하는 Stream의 mapWithIndex), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/someone7140/articles/10b74fff6e4dbc텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)