>  기사  >  Java  >  숫자 스트림 작업을 위해 Java에서 IntStream 함수를 사용하는 방법

숫자 스트림 작업을 위해 Java에서 IntStream 함수를 사용하는 방법

WBOY
WBOY원래의
2023-06-26 20:15:082334검색

Java의 IntStream 함수는 Java 8에 새로 도입된 기능적 인터페이스입니다. 필터링, 매핑, 수집 및 기타 작업을 포함하여 정수 유형 데이터에 대한 스트리밍 작업을 수행할 수 있습니다. 이 기사에서는 수치 스트림 작업에 IntStream 함수를 사용하는 방법을 소개합니다.

1. IntStream 함수 소개

IntStream은 기본 유형이 int인 요소의 스트림을 나타내는 Java의 기능적 인터페이스입니다. Stream 인터페이스를 상속하고 기본 유형 int에 대한 메서드를 추가합니다.

IntStream의 메서드는 주로 다음 네 가지 범주로 나뉩니다.

  1. 스트림 생성: range, rangeClosed, of, iterate, generate 및 기타 메서드.
  2. 변환 스트림: 맵, 플랫맵, 필터, 고유, 정렬 및 기타 방법.
  3. 종료 스트림: forEach, toArray, sum, Average, Reduce 및 기타 방법.
  4. 작업 흐름: min, max, count, anyMatch, allMatch, noneMatch 및 기타 방법.

2. IntStream 함수의 기본 사용법

IntStream의 사용법은 기본적으로 Stream의 사용법과 동일합니다. IntStream.range 메서드를 사용하여 지정된 범위의 정수 스트림을 만들 수 있습니다. IntStream.of 메소드를 사용하여 지정된 요소의 정수 스트림을 생성합니다.

IntStream intStream = IntStream.range(1, 10);

IntStream.iterate 메소드를 사용하여 반복 스트림을 생성할 수도 있습니다.

IntStream intStream = IntStream.of(1, 3, 5, 7, 9);

스트림을 생성한 후 변환을 위한 중간 작업을 사용할 수 있습니다. 예를 들어 map 메소드를 사용하여 각 요소를 곱할 수 있습니다:

IntStream intStream = IntStream.iterate(1, n -> n + 2).limit(5);
intStream.forEach(System.out::println);//1 3 5 7 9

또한 필터 메소드를 사용하여 조건을 충족하는 요소를 필터링할 수 있습니다.

IntStream intStream = IntStream.range(1, 10);
intStream.map(n -> n * 2).forEach(System.out::println);//2 4 6 8 10 12 14 16 18

중간 작업을 완료한 후 종료 작업을 사용하여 완료할 수 있습니다. 통계, 수집 및 기타 작업. 예를 들어, sum 메소드를 사용하여 스트림을 합산할 수 있습니다:

IntStream intStream = IntStream.range(1, 10);
intStream.filter(n -> n % 2 == 0).forEach(System.out::println);//2 4 6 8

또한 toArray 메소드를 사용하여 스트림의 요소를 배열로 변환할 수 있습니다:

IntStream intStream = IntStream.range(1, 10);
int sum = intStream.filter(n -> n % 2 == 0).sum();
System.out.println(sum);//20

3. IntStream 함수의 고급 사용법

IntStream에는 flatMap, Reduce, Collect 및 기타 방법과 같은 고급 사용법. 이러한 방법의 사용은 아래에 소개되어 있습니다.

FlatMap 방법
  1. flatMap 방법은 스트림의 각 요소를 스트림에 매핑한 다음 이러한 작은 스트림을 하나의 큰 스트림으로 병합할 수 있습니다. 예를 들어 flatMap 메서드를 사용하여 각 숫자를 해당 문자열로 변환한 다음 이 문자열을 스트림으로 병합할 수 있습니다.
IntStream intStream = IntStream.range(1, 10);
int[] arr = intStream.filter(n -> n % 2 == 0).toArray();
System.out.println(Arrays.toString(arr));//[2, 4, 6, 8]

reduce 메서드
  1. reduce 메서드는 스트림의 요소를 값으로 줄일 수 있습니다. 예, 합계, 제품 등 int 유형의 스트림을 합산하기 위해 감소 메소드를 사용할 수 있습니다:
IntStream intStream = IntStream.range(1, 5);
Stream<String> stream = intStream.flatMap(n -> Stream.of(String.valueOf(n)));
stream.forEach(System.out::println);//"1" "2" "3" "4"

collect 메소드
  1. collect 메소드는 스트림의 요소를 List, Set, Map 등과 같은 컨테이너로 수집할 수 있습니다. Collect 메소드를 사용하여 int 유형 스트림을 목록으로 수집할 수 있습니다:
IntStream intStream = IntStream.range(1, 5);
int sum = intStream.reduce(0, (a, b) -> a + b);
System.out.println(sum);//10

IV. 요약

이 기사에서는 Java에서 IntStream 함수의 기본 및 고급 사용법을 소개합니다. IntStream 함수는 int 유형의 요소에 대해 스트리밍 작업을 수행할 수 있으며 풍부한 중간 작업 및 종료 작업을 제공하므로 다양한 수치 계산 및 데이터 수집 작업을 쉽게 완료할 수 있습니다. 독자들이 이 기사의 소개를 통해 IntStream 기능의 사용법을 익힐 수 있기를 바랍니다. 이는 향후 Java 개발 작업을 촉진할 것입니다.

위 내용은 숫자 스트림 작업을 위해 Java에서 IntStream 함수를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.