개발 기록이
[JAVA] 자바 스트림 사용하기(map, filter, sorted) 본문
자바 스트림이란?
- 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
'웹 개발 > Back-end' 카테고리의 다른 글
[JAVA] File, Files 클래스 정리 (0) | 2024.04.20 |
---|---|
[웹개발] 파일기능(2) MultipartFile와 MultipartHttpServletRequest 로 파일 저장하기 (0) | 2024.04.13 |
[SpringBoot] @Controller redirect 하기 (0) | 2024.03.30 |
[JAVA]List 비교하기 - contains(), containsAll(), equals() (0) | 2023.08.08 |
[JAVA] List값 임의로 정렬하기 Collection.swap() (0) | 2023.08.06 |