stream()
- Java8๋ถํฐ ๋์
- ์คํธ๋ฆผ์ ์ฒ๋ฆฌํ ์ ์๋๋ก ์ง์
- ์ปฌ๋ ์
, ๋ฐฐ์ด, ํ์ผ์ ๋ฐ์ดํฐ ๋ฑ์ ํจ์ํ ๋ฐฉ์์ผ๋ก ์ฒ๋ฆฌํ ์ ์๊ฒ ํจ
import java.util.Arrays;
import java.util.List;
public class StreamExample {
public static void main(String[] args){
List<String> names = Arrays.asList("Alice", "Bob", "Charlie");
//stream ์์ฑ ๋ฐ ์ค๊ฐ ์ฐ์ฐ, ์ต์ข
์ฐ์ฐ
names.stream()
.filter(name -> name.startsWith("A")) // 'A'๋ก ์์ํ๋ ์ด๋ฆ ํํฐ๋ง
.map(name -> name.toUpperCase()) // ๋๋ฌธ์๋ก ๋ณํ
.forEach(name -> System.out.println(name)); // ์ถ๋ ฅ : ALICE
}
}
filter()
- Java์ ์คํธ๋ฆผ API ์์ ํน์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ์์๋ค๋ง ํํฐ๋ง
- ์กฐ๊ฑด์ ๋ง์กฑํ๋ ์์๋ค๋ก ์๋ก์ด ์คํธ๋ฆผ์ ๋ง๋ค์ด ๋ฐํ
- ๋ค์ํ ์๋ฃ๊ตฌ์กฐ์์ ์ฌ์ฉ ๊ฐ๋ฅ
//์ฌ์ฉ๋ฒ
stream.filter(์กฐ๊ฑด์)
import java.util.Arrays;
import java.util.List;
public class StreamFilterExample {
public static void main(String[] args) {
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
// ์ง์๋ง ํํฐ๋ง
List<Integer> evenNumbers = numbers.stream()
.filter(n -> n % 2 == 0)
.toList(); // Java 16+์์ ์ฌ์ฉ ๊ฐ๋ฅ
System.out.println(evenNumbers); // ์ถ๋ ฅ: [2, 4, 6, 8, 10]
}
}