> Java > java지도 시간 > 본문

Java에서 역방향 IntStream을 생성하는 방법은 무엇입니까?

Barbara Streisand
풀어 주다: 2024-10-30 10:05:36
원래의
870명이 탐색했습니다.

How to Generate a Reversed IntStream in Java?

Java 스트림을 역전하여 감소하는 IntStream을 생성하는 방법

스트림 역전은 Java 8 스트림을 처리할 때 일반적인 작업입니다. 여기서는 모든 유형의 스트림을 역전시키는 두 가지 접근 방식을 살펴보고 특히 감소하는 IntStream을 생성하는 문제를 해결합니다.

일반 접근 방식: 모든 유형의 스트림 역전

요소 유형에 관계없이 스트림을 되돌리려면 두 가지 기술을 사용할 수 있습니다.

  1. 배열에 요소 저장: 이 방법에는 스트림을 배열로 변환한 다음 요소를 거꾸로 읽는 것입니다. 그러나 스트림 요소의 런타임 유형을 알 수 없기 때문에 확인되지 않은 캐스트가 필요합니다.
  2. 수집기 사용: 이 접근 방식은 스트림 요소를 역방향 목록에 누적하지만 ArrayList 객체 앞에 복사 오버헤드가 발생합니다.

특정 접근 방식: 감소하는 IntStream 생성

감소하는 IntStream을 생성하는 특정 문제는 다음을 사용하여 해결할 수 있습니다. 다음 사용자 정의 방법:

<code class="java">static IntStream revRange(int from, int to) {
    return IntStream.range(from, to)
                    .map(i -> to - i + from - 1);
}</code>
로그인 후 복사

이 기술은 박싱 및 정렬 작업을 피하여 더 효율적인 코드를 생성합니다.

추가 고려 사항

이전 이 답변 버전은 역방향 ArrayList를 사용하는 것이 좋습니다. 하지만 ArrayList 앞에 삽입하는 것의 비효율성으로 인해 효율적인 전면 삽입을 지원하는 ArrayDeque를 대신 사용하도록 업데이트되었습니다.

이 접근 방식의 출력은 List가 아닌 Deque이지만, 이제 역순으로 쉽게 반복하거나 스트리밍할 수 있습니다.

위 내용은 Java에서 역방향 IntStream을 생성하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!