Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 중도인출
- 프로그래밍
- 특약
- 리스트
- 문자열
- 변환
- 보험
- javascript
- 자바스크립트
- Java
- Vue.js
- 수수료
- 가입
- 인출수수료
- 급성심근경색증
- 추가납입
- 교보
- 뇌출혈
- 프론트엔드
- python
- 파이썬
- 납입
- 코딩
- 심장질환
- 보험료
- jQuery
- 교보생명
- 웹개발
- 사망
- PythonProgramming
Archives
- Today
- Total
SeouliteLab
[Java/자바] Stream.generate()와 Supplier: 다양한 활용 본문
Java의 Stream.generate() 메서드는 무한한 요소를 생성하는 데 사용됩니다. 이 메서드는 주로 Supplier 함수형 인터페이스와 함께 사용되며, Supplier는 요소를 생성하는 로직을 제공합니다. 이를 통해 다양한 종류의 데이터를 생성할 수 있습니다.
예제 1: 무한한 난수 스트림 생성하기
랜덤한 정수를 생성하는 무한한 스트림을 생성하는 예제입니다.
import java.util.Random;
import java.util.stream.Stream;
public class RandomNumberStream {
public static void main(String[] args) {
Stream<Integer> randomNumberStream = Stream.generate(() -> new Random().nextInt());
randomNumberStream.limit(10).forEach(System.out::println);
}
}
예제 2: 날짜 스트림 생성하기
특정 범위의 날짜를 생성하는 무한한 스트림을 생성하는 예제입니다.
import java.time.LocalDate;
import java.util.stream.Stream;
public class DateStream {
public static void main(String[] args) {
Stream<LocalDate> dateStream = Stream.generate(() -> LocalDate.now().plusDays(1));
dateStream.limit(10).forEach(System.out::println);
}
}
예제 3: 문자열 패턴 생성하기
특정 패턴을 갖는 문자열을 생성하는 무한한 스트림을 생성하는 예제입니다.
import java.util.stream.Stream;
public class PatternStream {
public static void main(String[] args) {
Stream<String> patternStream = Stream.generate(() -> "Pattern");
patternStream.limit(10).forEach(System.out::println);
}
}
예제 4: 피보나치 수열 생성하기
피보나치 수열을 생성하는 무한한 스트림을 생성하는 예제입니다.
import java.util.function.Supplier;
import java.util.stream.Stream;
public class FibonacciStream {
public static void main(String[] args) {
Stream<Integer> fibonacciStream = Stream.generate(new FibonacciSupplier());
fibonacciStream.limit(10).forEach(System.out::println);
}
static class FibonacciSupplier implements Supplier<Integer> {
int a = 0;
int b = 1;
public Integer get() {
int c = a + b;
a = b;
b = c;
return a;
}
}
}
예제 5: 사용자 입력 생성하기
사용자로부터 입력을 받아 생성하는 무한한 스트림을 생성하는 예제입니다.
import java.util.Scanner;
import java.util.stream.Stream;
public class UserInputStream {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
Stream<String> userInputStream = Stream.generate(() -> scanner.nextLine());
userInputStream.forEach(System.out::println);
}
}
예제 6: 고정된 값 생성하기
고정된 값을 생성하는 무한한 스트림을 생성하는 예제입니다.
import java.util.stream.Stream;
public class FixedValueStream {
public static void main(String[] args) {
Stream<String> fixedValueStream = Stream.generate(() -> "Fixed Value");
fixedValueStream.limit(10).forEach(System.out::println);
}
}
'프로그래밍' 카테고리의 다른 글
[Java/자바] Stream.collect()를 사용하여 Stream을 List로 변환하는 방법 (0) | 2024.03.13 |
---|---|
[Java/자바] Stream.toArray()를 사용하여 Stream을 List로 변환하는 방법 (0) | 2024.03.13 |
Nginx에서 X-Real-IP 설정하기: 예제 및 설명 (0) | 2024.03.13 |
[Java/자바] Supplier 예제 (0) | 2024.03.13 |
[Java/자바] 다수의 Predicate를 or()로 연결하여 수행하기 (0) | 2024.03.13 |