[자바8강좌,int스트림]JAVA8, IntStream, of, range, rangeClosed, filter
자바8에 추가된 IntStream은 원시데이터형 int를 스트림으로 다룰수 있도록 해주는데
java.util.stream 패키지에는 스트림관련 API들이 있다.
이번 강좌에서는 자주 사용되는 int형을 위한 스트림을 살펴보자.
1. IntStream 생성하기.
IntStream.of(1,2,3,4,5); //1,2,3,4,5에 대한 int 스트림 생성, of의 인자는 배열등도
가능
IntStream.range(1,5); //1,2,3,4에 대한 int 스트임 생성
IntStream.rangeClosed(1,5); //1,2,3,4,5에 대한 int 스트임 생성
2. iterator 함수
IntStream.iterator(0, i -> i + 2).limit(4); //0, 2, 4, 6에 대한 스트림 생성, 4는
4개의 요소라는 의미
3. anyMatch 함수
IntStream.range(1, 5).anyMatch(i -> i % 2 == 0); // true, 1,2,3,4중 짝수인
것이 하나라도 있으면 참
4. allMatch 함수
IntStream.range(1, 5).allMatch(i -> i % 2 == 0); // false, 1,2,3,4모두가
짝수면 참
5. noneMatch 함수
IntStream.range(1, 5).allMatch(i -> i % 2 == 0); // false, 1,2,3,4 모두가
짝수가 아니면 참
6. filter 함수
IntStream.range(1,5).filter(i -> i % 2 == 1) //1, 3
IntStream.range(1,5).filter(i -> i % 2 == 1).allMatch(i -> i % 2 ==1)
// true
IntStream.range(1,5).filter(i -> i % 2 == 1).noneMatch(i -> i % 2
==1) // false
7. max, min 함수
IntStream.range(1,5).max().getAsInt(); // 4
IntStream.range(1,5).min().getAsInt(); // 1
9. 이번에는 간단히 IntStream을 이용하여 예제를 만들어 보자.
package ojc;
import java.util.stream.IntStream;
public class IntStreamTest1 {
static int sum =
0;
public static
void main(String[] args) {
// 1부터 10까지의 수를
출력해보자.
IntStream stream
= IntStream.rangeClosed(1, 10);
stream.forEach(i
-> System.out.println(i)); //람다식을 이용하여 출력
stream =
IntStream.rangeClosed(1, 10);
stream.forEach(System.out::println); //더블콜론
연산자를 이용하여 출력
//1부터 100까지의 합을
구해보자.
stream =
IntStream.rangeClosed(1, 10);
stream.forEach(i
-> sum += i);
System.out.println("1부터 10까지 합 : " + sum);
//배열의 합을
구해보자.
int[] arr =
{1,2,3,4,5,6,7,8, 9,10};
System.out.println("1부터 10까지의 합 : " +
IntStream.of(arr).sum());
//1부터 10까지의 수중
홀수의 합을 구해보자.
int[] arr1 =
{1,2,3,4,5,6,7,8, 9,10};
IntStream
stream1 = IntStream.of(arr1);
sum =
stream1.filter(i -> i % 2 == 1).sum();
System.out.println("1부터 10까지 수중 홀수의 합 : " +
sum);
}
}
[결과]
1
2
3
4
5
6
7
8
9
10
1
2
3
4
5
6
7
8
9
10
1부터 10까지 합 : 55
1부터 10까지의 합 : 55
1부터 10까지 수중 홀수의 합 : 25
|
2015년 9월 8일 화요일
[자바8강좌,int스트림]JAVA8, IntStream, of, range, rangeClosed, filter
피드 구독하기:
댓글 (Atom)
댓글 없음:
댓글 쓰기