[Java] Stream API 사용 방법
6858 단어 spring-bootJava
선배 엔지니어로부터 조언을 받았고 스트림 API에 대한 보완을 했다.
듣기에는 좀 어렵지만 의외로 간단하기 때문에 비망록으로 정리할 수도 있다.
Stream API는 무엇입니까?
Java8에서 가져온 정렬과 Collection 등을 처리하여 수치 통계와 데이터 처리 등을 할 수 있는 편리한 API를 말한다.
단지 이렇게 하면 인상이 그리 강렬하지 않습니다. for문에 기술된 처리를 간단하게 묘사할 수 있는 편리한 기능만 기억하면 OK!
for 문과 Stream API 비교
이번에는 for문과 Stream API를 이용하여 1부터 5까지의 정수에서 짝수를 얻는 처리를 실시한다.
import java.util.Arrays;
import java.util.List;
public class StreamTest {
public static void main(String[] args) {
// 1から5までの整数
List<Integer> numList = Arrays.asList(1, 2, 3, 4, 5);
// for文を利用した処理
for (Integer num : numList) {
if (num % 2 == 0) {
System.out.println(num);
}
}
// Stream APIを利用した処理
numList.stream() // Streamを生成
.filter(i -> i % 2 == 0) // numListの中から該当する値のみを取得
.forEach(i -> System.out.println(i)); // 上記で該当した値のみを出力する
}
}
Stream API 사용의 이점◇가독성 높은 코드 설치 가능
위에서 말한 바와 같이 for문에서 어떻게 처리되었는지 한눈에 알 수 없다.
한편, 스트림 API를 이용한 처리는 스트림이 유지하는 방법으로 처리를 선언한 뒤 조건을 기술했기 때문에 어떤 처리를 하는지 쉽게 알 수 있는 장점이 있다.
또 코드의 양도 줄어들 수 있기 때문에 읽을 수 있는 코드를 사용하는 것이 좋다.
그 외에 또 다른 좋은 점이 있는 것 같지만, 내가 느끼는 좋은 점은 이것밖에 없기 때문에 나는 사랑하지 않는다...
Stream API 설치 방법
1단계:Stream 생성
정렬 및 리스트stream()에서 Stream을 생성합니다.
Stream을 생성하여 데이터를 변환하고 가공할 수 있습니다.
// 上記の例のnumListを参考にstreamを生成
numList.stream()
2단계: 중간 작업첫 번째 단계에서 생성된 Stream에 대한 데이터 변환 및 가공
중간 조작에서 데이터 변환과 가공을 하는 여러 가지 방법을 준비했다.
중간 조작은 여러 개를 기술할 수 있다.또한 생략할 수도 있다.
// 中間操作のメソッドを一部抜粋
// sortedメソッド
.sorted() // 昇順にする
.sorted(Comparator.reverseOrder()) // 降順にする
// filterメソッド
.filter(i -> i % 2 == 0) // 条件に合ったデータのみを取得する
// iは一時変数のためnumでも好きなものでOK
// limitメソッド
.limit(3) // 引数の値分データを取得する(今回の場合3つ分のデータを取得する)
3단계: 터미널 작업조작 2단계 가공의 결과.
중간 조작과 같은 여러 가지 방법을 준비했다.
터미널 작업은 생략할 수 없습니다.
// 終端操作のメソッドを一部抜粋
// forEachメソッド
.forEach(i -> System.out.println(i)); // 拡張for文同様、要素を繰り返し出力する
// collectメソッド
.collect(Collectors.toList()); // データを扱いやすいStreamの形に変換していたため、元のListに戻す
최후스트림 API를 실제로 사용해 코드 양을 줄였을 뿐 아니라 한눈에 이해할 수 있는 코드까지 감동시켰다.
여러분의 참고가 될 수 있다면 저는 매우 기쁠 것입니다.
참고 자료
https://www.casleyconsulting.co.jp/blog/engineer/191/
https://qiita.com/takumi-n/items/369dd3fcb9ccb8fcfa44
Reference
이 문제에 관하여([Java] Stream API 사용 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/likemii/items/1cb8c5fbabdf62a9f9d2텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)