본문 바로가기
반응형

[개발] 언어/Java24

Java Stream API의 patitioningBy에 대해서 알아보자. 'Stream  연산을 처리하는 중에 하나의 결과를 통해 서로 다른 컬렉션 객체를 반환받을 수 있을까?' 라는 의문이 생겼습니다.예시로 숫자 스트림 객체가 주어졌을 때, 짝수와 홀수 컬렉션을 한 번의 스트림 연산으로 가져오고 싶었던 것 입니다. Stream patitioningBy 연산을 통해 가능하다고 하여 자세히 알아보게 되었습니다.     Stream partitioningBy partitioningBy란?Collectors.partitioningBy는 Java Stream API에서 주어진 조건(Predicate)에 따라 스트림 요소를 두 개의 그룹으로 나누기 위해 사용되는 메서드입니다. 이 메서드는 Collectors 클래스에서 제공되며, 각 요소가 조건을 만족하는지 여부에 따라 true 또는 .. 2024. 11. 14.
빈 스트림에 allMatch를 할 경우 true 반환 Java 8(or 17) 로 이루어진 프로젝트를 진행 중 Stream API의 allMatch 메서드에서 이상한 점을 발견했습니다.Empty Collection에 allMatch를 수행했더니, Predicate가 적용될 요소가 없어서 False가 나올 줄 알았으나 True를 반환하는 것이었습니다. 어떻게 된 상황인지 Stream API 코드를 살펴보기로 했습니다. 테스트 코드입니다.@Testpublic void test(){ List list = Arrays.asList(); final boolean isResult = list.stream().allMatch(e -> e >= 2); assertFalse(isResult);} 스택트레이스입니다.tryAdvance:1003, Spliter.. 2024. 10. 27.
Java 8 Parallel Stream 병렬 스트림이란 각각의 스레드에서 처리할 수 있도록 스트림 요소를 여러 청크로 분할한 스트림입니다.따라서 병렬 스트림을 이용하면 모든 멀티코어 프로세서가 각각의 청크를 처리하도록 할당할 수 있습니다. 멀티코어란?하나의 물리적인 CPU(중앙 처리 장치) 안에 여러 개의 독립적인 처리 장치(코어)가 포함된 구조를 말합니다. 각 코어는 자체적인 연산 장치(ALU, 레지스터 등)를 가지고 있어서 동시에 여러 작업을 병렬로 처리할 수 있습니다.  ParallelStream은 parallelStream() 또는 stream().parallel() 메서드를 통해 사용할 수 있습니다.List list = List.of(1, 2, 3, 4, 5); list.parallelStream();list.stream.. 2024. 9. 19.
Java Method 메서드 구성 [접근지정자] [static] [반환 타입] [메서드명] ( [파라미터 타입] [파라미터명], ...) 접근지정자 - public: 모든 클라이언트가 접근이 가능합니다. - default(private-package): 동일한 패키지 내의 클라이언트만 호출할 수 있습니다. - protected: default + 상속 관계의 클래스에서만 접근 가능 - private: 클래스 내부에서만 접근 가능합니다. static은 선택사항이며 애플리케이션의 기동 시에 메모리에 상주하므로 클래스를 통해 메서드에 접근할 수 있습니다. 메서드 시그니처 [메서드 명] ([파라미터 타입] [파라미터명], ...) 메서드 오버라이딩 부모 타입의 메서드를 재구현하며 메서드의 구성을 그대로 사용합니다. @Override.. 2023. 11. 11.
반응형