TIL - Stream

장숭혁·2023년 10월 19일
0

TIL작성

목록 보기
2/60
package practice.stream;

import java.util.Arrays;

public class IntArrayStreamTest {
    public static void main(String[] args) {
        int[] arr = {1,2,3,4,5};

        for(int num : arr){
            System.out.println(num);
        }

        Arrays.stream(arr).filter(x-> x>3).forEach(n-> System.out.println(n));

        IntStream is = Arrays.stream(arr); 
        is.forEach();
        int sum = Arrays.stream(arr).sum();
        System.out.println(sum);
    }
}
  • IntStream의 인터페이스를 선언하고 Arrays.stream(컬렉션 배열 매개변수); 를 대입받는다
  • 업캐스팅
  • 한번 더 쓸 수 없음
  • 인터페이스로 선언하는 이유(IntStream) -> 자식클래스를 갈아끼우기 편함(내 생각 - 다형성 실현하기 위함)
  • 배열 , 컬렉션 대상으로 연산을 수행한다.
  • lambda식에서 익명내부 클래스가 생성된다 -> Stream은 lambda식을 쓴다. -> stream은 익명 내부 클래스를 생성한다.
List<String> sList = new ArrayList<String>();
        sList.add("1");
        sList.add("2");
        sList.add("3");

       Stream<String> stream = sList.stream();
        stream.forEach(System.out::println);
  • stream은 기존의 방식으로도 선언하고 사용할 수 있다.
IntStream is = Arrays.stream(arr); 
        is.forEach();
profile
코딩 기록

0개의 댓글

관련 채용 정보