자바에서 람다식으로 2차원 배열을 평면화 시킨 후 람다식으로 데이터를 검색하기
import java.io.IOException;
import java.util.Arrays;
import java.util.List;
public class Lamda {
public static void main(String[] args) throws IOException {
String[][] strings = new String[][]{{"a", "b"},{"c", "b"},{"d", "b"},{"f", "b"}};
List<String[]> stringList = Arrays.asList(strings);
stringList.stream().
flatMap(arrays -> Arrays.stream(arrays))
.filter(data -> "b".equals(data))
.forEach(System.out::println);
}
}
해당 람다식을보면 flatMap로 2차원 배열을 우선 평면화 시킨다.
그 이후에 filter을 통해 b라는 문자열을 검색하고
해당 문자열을 출력한다. strings 배열 안에는 "b"가 4개가 들어가 있기 때문에 4번이 출력되면 정상이다.
'개발언어 > JavaFunction' 카테고리의 다른 글
모던하게 자바 날짜 차이 구하기 (0) | 2021.07.08 |
---|---|
자바 모던하게 LocalDate클래스와 LocalDateTime클래스를 이용하여 날짜 계산하는 방법 (0) | 2021.07.07 |
자바 람다식으로 파일 읽고 특정 텍스트 부분만 추출하기 (0) | 2021.06.24 |
자바 숫자형 List에서 람다식으로 SUM, MAX, MIN 값 구하기 (0) | 2021.06.23 |
자바 람다식으로 텍스트 파일을 읽은 뒤 특정 텍스트 추출하기 (0) | 2021.05.03 |