연속 쌍 찾기
타사 라이브러리를 사용하고 병렬 처리가 필요하지 않은 경우 jOOλ 는 다음 과 같은 SQL 스타일 창 함수를 제공합니다.
System.out.println(
Seq.of(0, 1, 2, 3, 4)
.window()
.filter(w -> w.lead().isPresent())
.map(w -> tuple(w.value(), w.lead().get())) // alternatively, use your new Pair() class
.toList()
);
굽힐 수 있는
[(0, 1), (1, 2), (2, 3), (3, 4)]
이 lead()
함수는 창에서 순회 순서로 다음 값에 액세스합니다.
연속적인 트리플 / 쿼드 러플 / n- 튜플 찾기
댓글의 질문은 쌍이 아니라 n- 튜플 (또는 목록)을 수집해야하는보다 일반적인 솔루션을 요구하는 것입니다. 따라서 다음과 같은 대안이 있습니다.
int n = 3;
System.out.println(
Seq.of(0, 1, 2, 3, 4)
.window(0, n - 1)
.filter(w -> w.count() == n)
.map(w -> w.window().toList())
.toList()
);
목록 목록 생성
[[0, 1, 2], [1, 2, 3], [2, 3, 4]]
이 없으면 filter(w -> w.count() == n)
결과는
[[0, 1, 2], [1, 2, 3], [2, 3, 4], [3, 4], [4]]
면책 조항 : 나는 jOOλ 뒤에있는 회사에서 일합니다.