SPRING :: NOTE
[JAVA] ArrayList에서 값이 들어있는 만큼 개수 세기 본문
다음과 같이 배열을 선언하고, 값이 유동적으로 변하기 때문에 개수를 셀 필요가 있다.
ArrayList<String>[] info = new ArrayList[50];
ArrayList로 배열을 선언한 경우, 각 요소는 null로 초기화된다.
이 배열은 ArrayList<String> 객체에 대한 참조를 저장하고 있으며, 값이 없는 요소는 null을 저장하고 있다.
따라서, 값이 있는 요소의 개수를 세려면 null이 아닌 요소를 찾아야 한다.
아래와 같이 for-each 루프를 사용하여 각 요소를 검사하고, null이 아닌 요소의 개수를 계산할 수 있다.
int count = 0;
for (ArrayList<String> list : info) {
if (list != null) {
count += list.size();
}
}
System.out.println("값이 있는 요소의 개수: " + count);
위 코드에서, ArrayList<String> 객체의 size() 메서드를 사용하여 각 ArrayList에 저장된 요소의 개수를 계산하고, 모든 ArrayList의 size를 합하여 값을 구한다.
이 방법을 사용하면 값이 있는 ArrayList<String> 객체의 개수와 그에 포함된 요소의 총 개수를 모두 계산할 수 있다.
상위 배열의 개수만 세려면, 각 하위 ArrayList에 저장된 데이터를 고려할 필요 없이, 값이 있는 상위 배열의 개수만 세면 된다.
따라서, 각 하위 ArrayList에 add한 데이터는 고려하지 않아도 된다.
아래와 같이 for-each 루프를 사용하여 각 요소를 검사하고, null이 아닌 요소의 개수를 계산할 수 있다.
int upperCount = 0;
int lowerCount = 0;
for (ArrayList<String> list : info) {
if (list != null) {
upperCount++;
if (!list.isEmpty()) {
lowerCount++;
}
}
}
System.out.println("값이 있는 상위 배열의 개수: " + upperCount);
System.out.println("값이 있는 하위 ArrayList의 개수: " + lowerCount);
위 코드에서, ArrayList<String> 객체의 size() 메서드를 사용하지 않고, ArrayList<String> 객체의 null 여부만을 확인하여 값을 계산한다. 따라서, 하위 ArrayList에 add한 데이터는 고려하지 않아도 된다.
'Development Language > JAVA · ANDROID' 카테고리의 다른 글
[ANDROID] OS13부터 적용되는 File 입출력 적용하기 (0) | 2023.05.11 |
---|---|
[JAVA] ArrayList 중간배열 삭제하고 나머지 데이터 시프트 (Shift) 시키기 (0) | 2023.04.28 |
[ANDROID] 'android.useAndroidX' 관련 에러 (0) | 2022.11.22 |
[ANDROID] Fragment의 (Inflater) 자식 view의 Context 구하기 (0) | 2020.12.01 |
[ANDROID] Device is currently in the offline state (0) | 2020.09.16 |