답변:
서명이 어떻게 다른지 참고하십시오.
generate
는을 가져옵니다. 즉 IntSupplier
, 아무것도주지 않고 정수를 생성해야합니다. 사용 예에는 동일한 정수의 상수 스트림 생성, 임의의 정수 스트림 생성이 포함됩니다. 스트림의 각 요소가 이전 요소와 어떻게 관련이 없는지 확인하십시오.
iterate
a seed
와 a IntUnaryOperator
를 사용합니다. 즉 , 이전 요소를 기반으로 각 요소를 생성해야합니다 . 예를 들어, 유도 적으로 정의 된 시퀀스를 만드는 데 유용합니다. 이 경우 각 요소는 이전 요소에 의존 해야합니다 .
순서 외에도 사용법도 약간 다릅니다. 메소드 서명을 살펴 보자.
iterate(int seed, IntUnaryOperator f)
generate(IntSupplier s)
반복은 이전 값에서 다음 값을 생성하는 데 사용되는 시작 값을 매개 변수 및 단항 연산자로 명시 적으로 지정했습니다. 내부 상태없이 운영자를 쉽게 변경할 수 없으며 문제없이 여러 장소에서 병렬로 재사용 할 수 있습니다.
사용 공급 업체 생성 그것들은 상수 또는 난수를 제공하거나 (1, 2, 3, ...)과 같은 시리즈를 제공하기 위해 내부 상태가 필요합니다.