Java 스트림(map, filter, sorted / collect, foreach)

남영민·2021년 7월 9일
0

람다함수를 활용하여 가독성있게 배열을 다룰 수 있는 Java 스트림에 대한 포스팅 입니다.

filter는 요소들을 조건에 따라 걸러내는 작업을 합니다.

map은 요소들에 특정 함수를 적용합니다.

sorted는 요소들을 정렬해 줍니다.

collect로 반환할 결과를 추출합니다.

 List<String> cars = new ArrayList<>(Arrays.asList("Ferrari", "Lamborghini", "Maserati", "Bently"));
 System.out.println(cars.stream()
                        .filter(car -> car.length() > 7)
                        .map(car -> car.toUpperCase())
                        .sorted()
                        .collect(Collectors.toList()));
                
# [LAMBORGHINI, MASERATI]

foreach로 요소들에 하나씩 접근할 수 있습니다.

 List<String> cars = new ArrayList<>(Arrays.asList("Ferrari", "Lamborghini", "Maserati", "Bently"));
        cars.stream()
            .filter(car -> car.length() > 7)
            .map(car -> car.toUpperCase())
            .sorted()
            .forEach(car -> System.out.println(car));
                
# LAMBORGHINI
# MASERATI

Collectors.joining()을 활용하여 join을 할 수 있습니다.

 List<String> cars = new ArrayList<>(Arrays.asList("Ferrari", "Lamborghini", "Maserati", "Bently"));
 System.out.println(cars.stream()
                        .filter(car -> car.length() > 7)
                        .map(car -> car.toUpperCase())
                        .sorted()
                        .collect(Collectors.joining(" ")));
                
# LAMBORGHINI MASERATI

참고 : https://dpdpwl.tistory.com/81

profile
성장하는 개발자

0개의 댓글