Java 스트림을 사용하여 모든 반복에서 현재 및 다음 객체로 목록을 분할하는 방법은 무엇입니까?

wintersun_x :

반복 할 때마다 ArrayList에서 다음 두 개체를 가져오고 싶습니다. 전통적인 for 루프를 사용하여 이것을 달성 할 수 있다는 것을 알고 있지만 다른 방법이 있는지 궁금합니다.

예를 들어 다음 목록이 있으면

List<Integer> list = Arrays.asList(1, 2, 3, 4, 5, 6);

내 출력은

[1, 2]
[2, 3]
[3, 4]
[4, 5]
[5, 6]

어떤 도움이라도 대단히 감사하겠습니다.

데드 풀 :

를 사용 IntStream하면 List인덱스 기반을 반복 하고 결과를 수집 할 수 있습니다.List

List<List<Integer>> res = IntStream.range(0, list.size()-1)
                                   .mapToObj(i->Arrays.asList(list.get(i),list.get(i+1)))
                                   .collect(Collectors.toList());

출력 :

[[1, 2], [2, 3], [3, 4], [4, 5], [5, 6]]

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사