스트림의 중간 연산(2)
·
자바/스트림
1. 변환 - map() - 스트림의 요소에 저장된 값 중에서 원하는 필드만 뽑아내거나 특정 형태로 변환해야 할 때가 있다. 이 때 사용하는 것이 아래와 같은 map() 메서드이다. Stream map(Function
스트림의 중간 연산(1)
·
자바/스트림
1. 스트림 자르기 - skip(), limit() - skip() 메서드는 지정한 매개변수만큼 스트림의 요소를 건너뛴다. - limit() 메서드는 지정한 매개변수만큼 스트림의 요소를 제한한다. - 기본형 Stream에서도 정의되어 있다. IntStream intStream = IntStream.rangeClosed(1, 10); // 1~10을 가진 intStream 변수 intStream.skip(3).limit(5).forEach(System.out::println); // 4, 5, 6, 7, 8 출력한다. 2. 스트림의 요소 걸러내기 - filter(), distinct() - filter()는 주어진 조건에 맞게 스트림의 요소를 걸러낸다. 사용방법은 아래의 코드를 보자. IntStream i..
스트림 만들기
·
자바/스트림
1. 컬렉션 - 컬렉션의 최고 조상인 Collection에 stream()이 정의되어 있으므로, Collection의 자손인 List와 Set을 구현한 컬렉션 클래스들은 모두 이 메서드로 스트림을 생성할 수 있다. - stream()은 아래와 같이 해당 컬렉션을 소스로 하는 스트림을 반환한다. Stream Collection.stream() 2. 배열 - Stream과 Arrays에 static 메서드로 아래와 같이 정의되어 있다. (1) Stream Stream.of(T... values) ex) Steam.of("a","b") //가변인자 (2) Stream Stream.of(T[]) ex) Stream.of(new String[] {"a","b"}) (3) Stream Arrays.stream(T[..
스트림의 기본 개념
·
자바/스트림
1. 스트림이란? - 스트림은 데이터 소스를 추상화하고, 데이터를 다루는데 자주 사용되는 메서드들을 정의해 놓았다. - 스트림은 Iterator처럼 일회용이다. 즉, 한번 사용한 스트림은 필요하다면 다시 생성해야 한다. - 스트림은 작업을 내부 반복으로 처리한다. ( 내부 반복이란, 반복문을 메서드의 내부에 숨길 수 있다는 것을 의미한다. ) - 장점으로는 두 가지가 있는데, 아래와 같다. (1) 데이터 소스가 무엇이든지 간에 같은 방식으로 다룰 수 있다. (2) 코드의 재사용성이 높아진다. - 아래의 예시 String 배열과 List 배열을 보자. ( 그리고 이렇게 된 것을 정렬한다면, 아래와 같을 것이다. ) ( 데이터 소스가 정렬되는 것은 아니라는 것에 유의하자. ) ( 만약 다시 List(데이터소..