[JAVA] CollectionUtils.isEmpty() 사용법 및 예시

2023. 2. 12. 16:08·스터디/JAVA
728x90
 

객체의 Null 체크와 empty 여부를 동시에 체크하기 위해 어떻게 해야할까요?

 

지난번에는 String의 white space와 null 체크할 때 사용하는 StringUtils에 대해서 알아보았는데요~

 

만약 List 의 empty 여부를 확인하고 싶다면 어떻게 해야하는지 알아보도록 하겠습니다~


 

ColletionUtils

문자열의 다양한 메소드를 사용하기위해 StringUtils 패키지를 사용했다면

객체에 대한 메소드를 사용하기위해서 CollectionUtils 패키지를 사용합니다.

 

CollectionUtils는 Apache Commons에서 제공하는 클래스로 List의 길이와 null 체크 할 때 주로 사용됩니다.

 

 

CollectionUtils.isEmpty()

List<String> testList = new ArrayList();
 
 
CollectionUtils.isEmpty(null);          // true
CollectionUtils.isEmpty(testList);      // true
CollectionUtils.isNotEmpty(testList);   // false

 

 

- 장점

Null 체크와 Empty 체크를 동시에합니다.

CollectionUtils.isEmpty()를 사용하면 NPE(Null Point Exeption)을 동시에 방지할 수 있습니다.

isEmpty()가 더욱 직관적인 코드입니다.

isEmpty()는 시간 복잡도가 O(1)이지만, List.size()는 시간복잡도가 O(N)입니다.

 

 

사용 예시

기존에 List의 길이와 null을 체크하기위해서 어떻게하셨나요?

 

좋지 않은 코드 예)

 

혹시 null 이 아니고 비어있지 않은 경우를 체크하기 위해 아래와 같이 코드를 작성했나요?

if (TestList != null && TestList.size() > 0) { ... }

 

또는 List가 비어있는지 확인하기 위해 아래처럼 코드를 작성했나요?

if (!TestList.isEmpty()) { ... }

위 코드는 자주 사용할 수 있는 방법인데요 좋지 않은 방식으로 작성된 코드 예시입니다.

 

좋은 코드 예)

앞으로 null check와 리스트가 비어있는지 동시에 확인하기 위해서 CollectionUtils.isEmpty() 메소드를 사용합니다!

//AS-IS
if (TestList == null || TestList.isEmpty()) { ... }

//TO-BE
if (CollectionUtils.isEmpty(TestList)) { ... }

 

 

정리

앞으로 List, Map, Set 과 같은 자료구조는 null 체크와 empty 체크를 동시에 확인하는 ColletionUtils.isEmpty()를 사용합니다.

 

 

 

 

참고

https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/util/CollectionUtils.html

 

 

728x90

'스터디 > JAVA' 카테고리의 다른 글

[JAVA] Fail-Fast 와 Fail-Safe  (0) 2023.08.17
[JAVA] Collections.emptyList() 와 Lists.newArrayList()  (0) 2023.08.11
[JAVA] StringUtils.isBlank()와 StringUtils.isEmpty() 차이  (0) 2023.02.11
[JAVA] 자바 예외 처리 (Exception)  (0) 2021.08.20
[JAVA] Primitive Type 과 Wrapper Class  (0) 2021.08.15
'스터디/JAVA' 카테고리의 다른 글
  • [JAVA] Fail-Fast 와 Fail-Safe
  • [JAVA] Collections.emptyList() 와 Lists.newArrayList()
  • [JAVA] StringUtils.isBlank()와 StringUtils.isEmpty() 차이
  • [JAVA] 자바 예외 처리 (Exception)
zoodi
zoodi
IT/개발 관련 지식을 기록하는 블로그입니다.
  • zoodi
    오늘의 기록
    zoodi
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 후기
        • 컨퍼런스
        • 일상리뷰
      • 금융경제
        • 뉴스
        • 금융IT용어
        • 경제 및 부동산
      • 코딩 테스트
      • 스터디
        • JAVA
        • Kotlin
        • Spring
        • React, Nextjs
        • 인공지능 AI
        • Cloud & k8s
        • Kafka
        • Database
        • Network
        • Algorithm
        • Hadoop
        • LINUX
        • R Programming
        • 기타 (소공, 보안)
      • 도서
      • 기타
  • 블로그 메뉴

    • 홈
    • 스터디
    • 금융경제
    • 후기
    • 기타
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    알고리즘
    쿠버네티스
    코딩
    CodingTest
    네트워크
    코딜리티
    Python
    Kotlin
    LeetCode
    코딩테스트
    자바
    java
    자료구조
    pythoncodingtest
    Spring
    springboot
    db
    스프링부트
    리트코드
    이분탐색
    스프링
    kafka
    카카오코테
    코테공부
    코테
    금융용어
    프로그래머스
    C++
    MySQL
    codility
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
zoodi
[JAVA] CollectionUtils.isEmpty() 사용법 및 예시
상단으로

티스토리툴바