java
최종연산 2
improve
2024. 2. 16. 10:29
● allmatch, anymatch, nonmatch
package org.example;
import java.util.stream.IntStream;
public class Main {
public static void main(String[] args) {
boolean result = IntStream.of(1, 2, 3, 4, 5)
.allMatch(value -> value % 2 == 0);
System.out.println(result);
System.out.println();
result = IntStream.of(1, 2, 3, 4, 5)
.anyMatch(value -> value % 2 == 0);
System.out.println(result);
System.out.println();
result = IntStream.of(1, 2, 3, 4, 5)
.noneMatch(value -> value % 2 == 0);
System.out.println(result);
}
}
●collect
package org.example;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class Main2 {
public static void main(String[] args) {
List<String> list = Arrays.asList("box","toy","robot","simple");
List<String> list2 = new ArrayList<>();
for (String temp : list){
if(temp.length()>3) {
list2.add(temp);
}
}
System.out.println(list2);
List streamlist = list.stream()
.filter(s -> s.length()>3)
.collect(
() -> new ArrayList<>(),
(objects, s) -> objects.add(s),
(lst1,lst2) -> lst1.addAll(list2)
);
System.out.println(streamlist);
List streamlist2 = list.stream()
.filter(s -> s.length()>3)
.collect(
Collectors.toList()
);
System.out.println(streamlist2);
}
}
for 구문을 이용해서 똑같이 만들어 봤습니다.
첫번째 collect 는 변수명이 너무 많아서 더 간편하게 만들었습니다.
두번째 collect 에서 collects.tolist를 이용해서 new ArraysList의 역할을 대신할 수 있다.