• 컬렉션을 사용하다 보면 이 컬렉션이 비어있는지를 확인해야 하는 경우가 있다.
  • 모바일 앱이나 웹페이지에서 특정 검색어를 입력했을 때에 목록이 있는 경우는 목록을 표시해주고 그렇지 않은 경우는 "결과가 없습니다"등의 문자열이 출력되는 것을 본 적이 있을 것이다. 컬렉션이 비어있는지를 판단하는 기능이 필요한 대표적인 예이다.
  • 컬렉션이 비었는지를 확인하는 데에는 대표적으로 두 가지 방법이 존재한다. 컬렉션의 크기를 사용하는 방법미리 준비된 메소드를 이용하는 방법이다.
  • 먼저 컬렉션의 크기를 사용하는 방법을 살펴보자. 컬렉션의 크기를 확인하기 위해서는 size 메소드를 사용해야 한다.

 

그림11.41-size 메소드를 이용해 동영상 목록에 동영상이 몇개 있는지 출력해주는 프로그램

  • 문자열을 출력할 때 size 메소드를 호출해 동영상이 총 몇 개인지를 출력해준다.
  • 그러면 동영상의 개수를 통해서 어떻게 이 동영상 목록이 비었는지를 확인할 수 있을까? 간단하다. 동영상이 0개인 경우이다. 다음 예제를 통해 알아보자.

그림11.43-size 메소드를 통해 목록이 비어있는지 출력해주는 프로그램

1.빈 동영상 목록을 하나 생성한다. (아무것도 추가를 안한 상태,add 를 넣지 않았다)

2.size 메소드를 통해 만일 목록의 크기가 0이라면 "목록이 비어있습니다."를 출력해주고 그렇지 않다면 동영상 목록의 개수를 출력해준다.

그림11.43-목록을 추가했을때 출력 결과

  • 만약 목록을 위와 같이 추가한다면 동영상 개수가 카운팅이 된다.

 

 

-지금까지는 "size 메소드를 호출해서 목록의 크기 비교를 통해" 목록이 비어있는지를 판단하는 방법에 대해 알아보았다.
-이번에는 목록이 비었는지를 판단하기 위해 "준비된 메소드를 사용함으로써" 조금 더 명시적으로 목록이 비었는지 여부를 판단하는 방법을 동일한 예제 코드를 통해 알아보자.

 

 

 

그림11.45-isEmpty 메소드를 사용해 목록이 비었는지를 판단

  • 컬렉션에 준비된 isEmpty 메소드를 사용해 목록이 비었는지 여부를 판단한다.
  • isEmpty 메소드가 반환하는 값은 boolean 타입이므로 if문의 조건으로 바로 사용할 수 있다.
  • isEmpty 메소드가 반환하는 값이 true인 경우 목록이 비어있다는 것이고 반대로 false인 경우는 목록이 비어있지 않다는 의미이다. 
  • 이 프로그램을 실행시켜보니 바로 전의 예제 코드와 동일한 결과가 출력된다. 이왕이면 isEmpty 메소드를 이용하는 게 훨씬 더 명시적이어서 좋다.

 

이제 방금 배운 것들을 응용하기 위해 사용자로부터 등록할 동영상의 목록을 입력받고 isEmpty 메소드를 이용해 총 몇개의 동영상이 등록되었는지를 출력해주는 프로그램을 작성해보자.

 

 

그림11.46-동영상 목록을 입력받아 동영상의 개수를 출력하는 프로그램

1.동영상 제목을 입력하라는 문구를 출력하고 입력을 받기 위해 Scanner와 빈 동영상 목록을 생성한다.

2.반복문을 돌며 사용자로부터 동영상 제목을 입력받는다.

3.사용자가 입력한 문자열이 "0"이라면 반복문을 탈출한다.

4.사용자가 입력한 동영상 제목을 목록에 저장한다.

5.반복문이 종료되면 isEmpty 메소드로 동영상 목록이 비었는지를 판단해 경우에 따른 결과를 출력해준다.

그림11.48-3개의 동영상 제목을 입력한 결과

->지금까지 컬렉션이 비었는지를 확인하기 위해 

컬렉션의 크기를 체크하는 방법

isEmpty 메소드를 이용하는 방법에 대해 알아보았다.

 

->어느 방법을 사용하든 프로그램은 동일하게 동작하지만 이왕이면 "isEmpty 메소드"를 이용하는 편이 더 명시적이기 때문에 권장된다는 것을 잊지 말자!

+ Recent posts