개발 기록이

[JAVA] 자바 스트림 사용하기(map, filter, sorted) 본문

웹 개발/Back-end

[JAVA] 자바 스트림 사용하기(map, filter, sorted)

studyingbackhoe 2023. 11. 19. 14:40

자바 스트림이란?

  • java8에서 사용할 수 있는 스트림은 람다를 활용한 기술 중 하나이다.
  • 배열 또는 컬렉션에 여러 개의 함수를 조합하여 원하는 결과를 가공할 수 있다.

 

자바스트림 중 map, filter, sort을 사용하여 list 값을 가공해 보자.

 

1. map

요소들을 특정 조건에 해당하는 값으로 변환해 준다.

ArrayList<String> list = new ArrayList<>("aaa", "bbbb", "c", "d");

System.out.println(list.stream().map(el-> el.toUpperCase()).collect(Collectors.toList()));
// List의 요소들을 대문자로 변경해줌
// [AAA, BBBB, C, D]

System.out.println(list.stream().map(String::toUppertCase).forEach(el-> System.out.println(el)));
// 대문자로 가공된 요소를 collect를 이용하여 리턴받을 수 있고, forEach를 통해 바로 출력도 가능함

// AAA
// BBBB
// C
// D

 

2. filter

요소를 특정 기준으로 걸러낼 수 있다.

System.out.println(list.stream().filter(t-> t.length() > 2).collect(Collectors.joining(" ")));
// aaa bbbb

System.out.println(list.stream().collect(Collectors.toList()));
// [aaa, bbbb]
// 요소의 크기가 2이상인 값만 출력하고 있음

 

3. sorted

요소를 정렬해 준다.

list.stream().sorted();
list.stream().sorted().collect(Collectors.toList()));

 

 

자바 아이콘 제작자: Alfredo Hernandez - Flaticon

출처: https://dpdpwl.tistory.com/81

https://futurecreator.github.io/2018/08/26/java-8-streams/