반응형
Match 메소드 예제
allMatch() : 모든 요소들이 매개 값(Predicate)로 주어진 조건을 만족하는지 조사
anyMatch() : 최소한 한 개의 요소가 주어진 조건에 만족하는 지 조사
noneMatch() : 모든 요소들이 주어진 조건을 만족하지 않는지 조사
class Test { public static void main(String[] args) { int[] intArray = {10, 20, 30}; boolean allResult = Arrays.stream(intArray).allMatch(a -> a % 10 == 0); boolean anyResult = Arrays.stream(intArray).anyMatch(a -> a % 10 == 0); boolean noneResult = Arrays.stream(intArray).noneMatch(a -> a % 10 == 0); System.out.println(allResult); // true System.out.println(anyResult); // true System.out.println(noneResult); // false } } |
- 응용1. 두 개의 List 중복된 값 찾기
class Test { public static void main(String[] args) { List oldList = Arrays.asList("1", "2", "3", "4"); List newList = Arrays.asList("3", "4", "5", "6"); List matchList = oldList.stream().filter(o -> newList.stream() .anyMatch(Predicate.isEqual(o))).collect(Collectors.toList()); System.out.println(matchList.toString()); // [3,4] } } |
- 응용2. 두 개의 List 중복되지 않은 값 찾기
//List A 기준 중복되지 않은 값 찾기 //List B 기준 중복되지 않은 값 찾기 class Test { public static void main(String[] args) { List oldList = Arrays.asList("1", "2", "3", "4"); List newList = Arrays.asList("3", "4", "5", "6"); List oldNoneMatchList = oldList.stream().filter(o -> newList.stream() .noneMatch(Predicate.isEqual(o))).collect(Collectors.toList()); List newNoneMatchList = newList.stream().filter(n -> oldList.stream() .noneMatch(Predicate.isEqual(n))).collect(Collectors.toList()); System.out.println(oldNoneMatchList.toString()); // [1,2] System.out.println(newNoneMatchList.toString()); // [5,6] } } |
반응형
'IT > Java' 카테고리의 다른 글
Java jdbc사용(executeQuery, executeUpdate, ResultSet, Connection, PreparedStatement) (17) | 2024.01.31 |
---|---|
Java 옵션 명령어 정리 (25) | 2024.01.28 |
deleteAll(), deleteAllInBatch(), deleteInBatch() (22) | 2024.01.26 |
ThreadPoolExecutor 로 멀티 쓰레드 구현 (24) | 2024.01.21 |
Java 에서 Http 통신 방식 3가지(RestTemplate, WebClient, OpenFeign) (9) | 2024.01.20 |
댓글