3 차원 ArrayList가 있는데 비어 있는지 확인하고 싶습니다. EmptyCollectionException이 Java 표준 라이브러리의 일부가 아니므로 사용할 수 없습니다.컬렉션이 비어 있는지 확인하는 방법
기본 Java 예외 또는 함수를 사용하여이를 수행 할 수있는 방법이 있습니까?
차원 목록은 다음과 같이 구성된다 : 나는 물론, 장 및 갑판을 통과으로
public void makeRandomCardListForLearning (Course courseToBeMadeRandom) {
List<List<List<Card>>> course = new ArrayList<List<List<Card>>>();
for(Chapter chptr: courseToBeMadeRandom.getChapterList()) {
List<List<Card>> chapter = new ArrayList<List<Card>>();
course.add(chapter);
for(Deck dck: chptr.getDeckList()) {
List<Card> deck = new LinkedList<Card>();
chapter.add(deck);
for(Card crd: dck.getCardList()) {
if(dck.isTheCardDueToday(crd.getLastDate())) {
deck.add(crd);
}
}
Collections.shuffle(deck);
}
}
}
나는 각 하나에 대한 목록을 작성합니다. 하나의 코스, 많은 챕터, 많은 덱 그리고 물론 사전 조건을 통과한다면 갑판 doublyLinkedList 아래에 저장되는 많은 카드가 있습니다. 카드가 조건을 통과하지 못하면 존재하지만 카드가없는 3D 목록이 있습니다. 목록에 카드가 없으면 사용자에게 오류 메시지가 표시됩니다.
사실 나는 카드 만 필요합니다. 그러나 각 카드가 현재 어느 데크에 있는지도 알아야합니다. 방금 목록을 작성하고 모든 챕터와 덱을 통과하고 조건에 따라 목록에 카드를 넣으면 각 카드가있는 챕터와 덱에 대한 단서가 없습니다. 아마도 카드 클래스에 두 가지 속성을 추가하여 해결할 수 있습니다. 그러나 그것은 우리가 시스템을 설계 할 때 실수 였고 지금 추가하는 것은 프로그램의 다른 부분에서 많은 변화를 초래합니다. 물론 List의 각 색인은 장 번호를 나타내고 장 색인의 각 색인은 데크 번호를 나타냅니다. 나는 그 방법으로 문제를 해결했다.
는
코드 일부를 표시 할 수 있습니까? –
은'arrayList.isEmpty()'충분하지 않습니다? – SMA
'isEmpty()'메서드는 어떻습니까? –