Arrays.stream
메소드를 사용한다.public static void main(String[] args) {
int[] arr = {1, 2, 3, 4, 5};
Arrays.stream(arr).forEach(s->System.out.print(s + " "));
}
// 출력
1 2 3 4 5
컬렉션 타입(Collection, List, Set)의 스트림을 생성하기 위해서는 인터페이스에 추가된 디폴트 메소드인 stream
을 사용한다.
public static void main(String[] args) {
List<String> arr = new ArrayList<>();
arr.add("Tomas");
arr.add("Andy");
arr.add("Luis");
arr.stream().forEach(s->System.out.print(s + " "));
}
// 출력
Tomas Andy Luis
filter()
, map()
, sorted()
등이 있다.filter()
: 스트림 내 요소들을 하나씩 평가해서 걸러내는 함수이다.map()
: 스트림 내 요소들을 하나씩 특정 값으로 변환하는 함수이다.sorted()
: 스트림 내 요소들을 정렬하는 함수이다. 기본은 오름차순 정렬이다.public static void main(String[] args) {
List<String> arr = new ArrayList<>();
arr.add("Tomas");
arr.add("Andy");
arr.add("Luis");
arr.add("Kang");
arr.add("Lee");
arr.add("Kim");
arr.stream().sorted().forEach(name -> System.out.print(name + " "));
System.out.println();
arr.stream().sorted().map(s -> s.length()).forEach(name -> System.out.print(name + " "));
System.out.println();
arr.stream().sorted().filter(n -> n.length() > 4).forEach(name -> System.out.print(name));
}
// 출력
Andy Kang Kim Lee Luis Tomas
4 4 3 3 4 5
Tomas
foreach()
, sum()
, count()
등이 있다.foreach()
: 스트림 내 요소들을 하나씩 꺼내 오는 함수이다.sum()
: 스트림 내 요소들을 하나씩 꺼내 와 더하는 함수이다.count()
: 스트림 내 요소들의 개수를 반환하는 함수이다.public static void main(String[] args) {
List<Integer> arr = new ArrayList<>();
arr.add(11);
arr.add(287);
arr.add(3222);
arr.add(4);
arr.add(52);
arr.add(100000);
arr.stream().sorted().forEach(s -> System.out.print(s + " "));
System.out.println();
System.out.println(arr.stream().count());
System.out.println(arr.stream().mapToInt(s->s.intValue()).sum());
}
// 출력
4 11 52 287 3222 100000
6
103576