스트림

    Java 스트림(Stream) 정리

    Java 스트림(Stream) 정리

    읽기 전에 스트림에 대해 몇 가지만 상기도록하자!! 💡 스트림은 데이터 소스를 변경하지 않는다! 스트림은 데이터 소스로 부터 데이터를 읽기만 할 뿐, 데이터 소스를 변경하지 않는다. 필요에 따라, 정렬된 결과를 컬렉션이나 배열에 담아서 반환한다. List sortedList = list.stream() .sorted() .collect(Collectors.toList()); 💡 스트림은 일회용이다. 스트림은 Iterator 처럼 한 번만 탐색할 수 있다. 만약 다시 탐색하고 싶다면 새로운 스트림을 만들어야 한다. Stream strStream = list.stream(); strStream.forEach(System.out::println); strStream.forEach(System.out::prin..

    [Java] 스트림 생성 (리스트, 배열을 스트림으로, 숫자 범위로부터 스트림, 파일로부터 스트림)

    Collection의 Stream 생성 Stream stream = list.stream(); List list = Arrays.asList("kim", "lee", "choo"); 배열의 Stream 생성 Arrays의 stream 메소드 Stream stream = Arrays.stream(strArray); Stream stream = Arrays.stream(new String[] {"kim", "lee", "choo"}); Stream의 of 메소드 Stream stream = Stream.of(new String[] {"kim", "lee", "choo"}); // 가변 인자 Stream stream = Stream.of("kim", "lee", "choo"); 숫자 범위로부터 Stream 생..

    [Java] IO 기반 입출력 - (1)입력 스트림과 출력 스트림

    📌IO 패키지 소개 프로그램에선 데이터를 외부에서 읽고 다시 외부로 출력하는 작업이 빈번히 일어난다. 데이터는 사용자로부터 키보드를 통해 입력될 수도 있고, 파일 또는 네트워크로부터 입력될 수도 있다. 데이터는 반대로 모니터로 출력될 수도 있고, 파일로 출력되어 저장될 수도 있으며 네트워크로 출력되어 전송될 수 있다. Java에서 데이터는 Stream을 통해 입출력되므로 스트림의 특징을 잘 이해해야 한다. 📌입력 스트림과 출력 스트림 (InputStream & OutputStream) 프로그램이 데이터를 입력받을 때는 입력 스트림(InputStream)이라 부르고, 프로그램이 데이터를 보낼 때에는 출력 스트림(OutputStream)이라 부른다. 프로그램이 네트워크상의 다른 프로그램과 데이터 교환을 하기..

    [Java] 스트림(stream)

    [Java] 스트림(stream)

    📌스트림이란? 많은 수의 데이터를 다룰 때, 컬렉션이나 배열에 데이터를 담고 원하는 결과를 얻기 위해 코드를 작성하면 너무 길고, 재사용성도 떨어진다. 이런 문제를 해결하기 위해 만든 것이 스트림(stream)이다. 스트림은 데이터 소스를 추상화하고, 데이터를 다루는데 자주 사용되는 메서드들을 정의해 놓았다. 데이터소스를 추상화하였다는 것은, 데이터 소스가 무엇이던 간에 같은 방식으로 다룰 수 있게 되었다는 것과 코드의 재사용성이 높아진다는 것을 의미한다. 즉, 스트림(Stream)은 컬렉션(배열 포함)의 저장 요소를 하나씩 참조해서 람다식으로 처리할 수 있도록 해주는 반복자이다. 간단한 예를 하나 보여주도록 하겠다. 뒤에서 자세히 설명할 것이니 그냥 보기만 해도 된다. //기존 Iterator List..