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 |
Tags
- 비주얼 스튜디오 코드
- AWS S3
- 창업형인간되기
- @async
- ssh
- 스트림 예제
- Visual Studio Code
- AWS
- AWS 프로젝트 올리기
- 자바 스트림
- java Optional
- AWS EC2
- AWS 키페어
- 라이프해킹스쿨
- CI/CD
- java null 처리
- Optional 사용법
- 마인드
- optional
- 창업
- 창업형인간
- AWS ssh
- spring async
- java stream
- AWS 프로젝트
- dockerfile
- github CI/CD
- vscode
- spring multi thread
- 창업 마인드
Archives
- Today
- Total
Wookim
Java Stream(1) 본문
Stream 생성
- 배열을 stream으로
- stream 조건 걸기
- stream 주의점 1
- stream 주의점 2
- 배열 slice
- 연속된 stream 생성
- 난수 생성
위 순서대로 예제 코드를 살펴 보자.
1. 배열을 stream으로
// 배열
String[] arr = new String[]{"1", "2", "3", "4", "5"};
// 배열 -> 스트림화
Stream<String> stream = Arrays.stream(arr);
// 스트림 순회
stream.forEach(System.out::print);
-- 1 2 3 4 5
2. stream 조건 걸기
// 배열
String[] arr = new String[]{"1", "2", "3", "4", "5"};
// 배열 -> 스트림화
Stream<String> stream = Arrays.stream(arr);
if(stream.anyMatch(s -> s.equals("1"))){
System.out.println("true");
}else{
System.out.println("false");
}
-- true
3. 생성한 stream은 한번만 사용가능
// 배열
String[] arr = new String[]{"1", "2", "3", "4", "5"};
// 배열 -> 스트림화
Stream<String> stream = Arrays.stream(arr);
stream.forEach(System.out::print);
stream.forEach(System.out::print); -> 에러
-- 에러 내용
Exception in thread "main" java.lang.IllegalStateException:
stream has already been operated upon or closed
4. 다시 사용하려면 새로 생성
// 배열
String[] arr = new String[]{"1", "2", "3", "4", "5"};
// 배열 -> 스트림화
Stream<String> stream = Arrays.stream(arr);
stream.forEach(System.out::print);
System.out.println();
stream = Arrays.stream(arr);
stream.forEach(System.out::print);
-- 12345
-- 12345
5. 배열 Slice
// 배열
String[] arr = new String[]{"1", "2", "3", "4", "5"};
// 처음 인덱스 포함, 마지막 인덱스 미포함
Stream stream = Arrays.stream(arr, 1, 4); // inclusive strat idx, exclusive end idx
stream.forEach(System.out::print);
-- 234
6. 지정된 범위이 연속된 정수 Stream
/** IntStream 사용*/
IntStream iStream = IntStream.range(1, 4);
iStream.forEach(System.out::print);
System.out.println();
/** LongStream 사용 */
LongStream lStream = LongStream.range(1, 4);
lStream.forEach(System.out::print);
System.out.println();
--1234
--1234
7. 난수 생성 (테스트 코드 작성 시 유용 할듯)
/** 특정 타입의 난수 생성 (테스트 코스 생성 시 용이) */
IntStream rStream = new Random().ints(4);
rStream.forEach(System.out::print);
System.out.println();
-- -551132546-3799458324435741041029603102
Reference
'programming language > Java' 카테고리의 다른 글
java Stream 최종연산 (3) (0) | 2022.01.21 |
---|---|
Java Stream 중개 연산 (2) (0) | 2022.01.19 |
Java Stream (0) (0) | 2022.01.10 |
Spring 예외 처리 패턴 (2) | 2022.01.03 |
spring application 실행 환경 분리 (프로파일) (0) | 2021.07.09 |
Comments