- 컬렉션을 사용하다 보면 이 컬렉션이 비어있는지를 확인해야 하는 경우가 있다.
- 모바일 앱이나 웹페이지에서 특정 검색어를 입력했을 때에 목록이 있는 경우는 목록을 표시해주고 그렇지 않은 경우는 "결과가 없습니다"등의 문자열이 출력되는 것을 본 적이 있을 것이다. 컬렉션이 비어있는지를 판단하는 기능이 필요한 대표적인 예이다.
- 컬렉션이 비었는지를 확인하는 데에는 대표적으로 두 가지 방법이 존재한다. 컬렉션의 크기를 사용하는 방법과 미리 준비된 메소드를 이용하는 방법이다.
- 먼저 컬렉션의 크기를 사용하는 방법을 살펴보자. 컬렉션의 크기를 확인하기 위해서는 size 메소드를 사용해야 한다.
- 문자열을 출력할 때 size 메소드를 호출해 동영상이 총 몇 개인지를 출력해준다.
- 그러면 동영상의 개수를 통해서 어떻게 이 동영상 목록이 비었는지를 확인할 수 있을까? 간단하다. 동영상이 0개인 경우이다. 다음 예제를 통해 알아보자.
1.빈 동영상 목록을 하나 생성한다. (아무것도 추가를 안한 상태,add 를 넣지 않았다)
2.size 메소드를 통해 만일 목록의 크기가 0이라면 "목록이 비어있습니다."를 출력해주고 그렇지 않다면 동영상 목록의 개수를 출력해준다.
- 만약 목록을 위와 같이 추가한다면 동영상 개수가 카운팅이 된다.
-지금까지는 "size 메소드를 호출해서 목록의 크기 비교를 통해" 목록이 비어있는지를 판단하는 방법에 대해 알아보았다.
-이번에는 목록이 비었는지를 판단하기 위해 "준비된 메소드를 사용함으로써" 조금 더 명시적으로 목록이 비었는지 여부를 판단하는 방법을 동일한 예제 코드를 통해 알아보자.
- 컬렉션에 준비된 isEmpty 메소드를 사용해 목록이 비었는지 여부를 판단한다.
- isEmpty 메소드가 반환하는 값은 boolean 타입이므로 if문의 조건으로 바로 사용할 수 있다.
- isEmpty 메소드가 반환하는 값이 true인 경우 목록이 비어있다는 것이고 반대로 false인 경우는 목록이 비어있지 않다는 의미이다.
- 이 프로그램을 실행시켜보니 바로 전의 예제 코드와 동일한 결과가 출력된다. 이왕이면 isEmpty 메소드를 이용하는 게 훨씬 더 명시적이어서 좋다.
이제 방금 배운 것들을 응용하기 위해 사용자로부터 등록할 동영상의 목록을 입력받고 isEmpty 메소드를 이용해 총 몇개의 동영상이 등록되었는지를 출력해주는 프로그램을 작성해보자.
1.동영상 제목을 입력하라는 문구를 출력하고 입력을 받기 위해 Scanner와 빈 동영상 목록을 생성한다.
2.반복문을 돌며 사용자로부터 동영상 제목을 입력받는다.
3.사용자가 입력한 문자열이 "0"이라면 반복문을 탈출한다.
4.사용자가 입력한 동영상 제목을 목록에 저장한다.
5.반복문이 종료되면 isEmpty 메소드로 동영상 목록이 비었는지를 판단해 경우에 따른 결과를 출력해준다.
->지금까지 컬렉션이 비었는지를 확인하기 위해
컬렉션의 크기를 체크하는 방법과
isEmpty 메소드를 이용하는 방법에 대해 알아보았다.
->어느 방법을 사용하든 프로그램은 동일하게 동작하지만 이왕이면 "isEmpty 메소드"를 이용하는 편이 더 명시적이기 때문에 권장된다는 것을 잊지 말자!
'study 교재 > *초간단 자바' 카테고리의 다른 글
PART12.데이터의 연결고리 Map/LESSON 01.Map이란 (0) | 2023.04.24 |
---|---|
PART11.배열보다 유용한 컬렉션/LESSON 013.ArrayList와 HashSet 비교 (0) | 2023.04.23 |
PART11.배열보다 유용한 컬렉션/LESSON 011.반복문에서 컬렉션 이용하기 (0) | 2023.04.23 |
PART11.배열보다 유용한 컬렉션/LESSON 010.Set 사용하기 (0) | 2023.04.23 |
PART11.배열보다 유용한 컬렉션/LESSON 09.중복 값을 허용하지 않는 Set (0) | 2023.04.21 |