본문 바로가기
Java

[Java] Java에서 배열과 컬렉션의 크기 확인( length() vs size() )

by taetae99 2024. 11. 24.
반응형

 

 

 

프로그래밍 중 intellij의 코드 컴플리션 기능 없이 작성하게 되면 객체의 크기를 알기 위한 메서드가 헷갈렸다. 

헷갈리는 문법은 총 세 가지로 ( .length는 메서드가 아니다.) 아래와 같다.

 

 

1. length()

2. size()

3. length (메서드가 아니다.)

 

 

 

 

 


 

1. length() 

length()는 문자열의 길이를 반환하는 메서드이다.

import java.util.*;

public class Main {
    
    public static void main(String[] args) {

        String line = "Hello";
        int size = line.length();

    }

}

 

실제로 메서드로 구현된 모습을 확인할 수 있다.

 

 

 

 

 

 

 

 

2. size()

size()는 ArrayList, List, Set, Stack과 같은 가변길이를 갖고 있는 컬렉션들의 크기를 반환한다.

import java.util.*;

public class Main {

    public static void main(String[] args) {

        ArrayList<Integer> al = new ArrayList<>();
        List<Integer> ls = new ArrayList<>();
        Stack<Integer> st = new Stack<>();
        Queue<Integer> ll = new LinkedList<>();

        int num1 = al.size();
        int num2 = ls.size();
        int num3 = st.size();
        int num4 = ll.size();
        
    }

}

 

 

 

 

 

 

 

 

3. length 

length는 배열의 고정된 길이를 반환하는 필드이다.

import java.lang.reflect.Array;
import java.util.*;

public class Main {

    public static void main(String[] args) {

        int[] arr = new int[3];
        int size = arr.length;

        char[] ch = {'a', 'b', 'c'};
        int cSize = ch.length;
        
    }

}

 

 

 

 

 

반응형

'Java' 카테고리의 다른 글

BDDMockito.willReturn() 주의할 점  (0) 2025.04.02
[Java] Comparator의 사용  (1) 2024.11.21
[Spring] Java의 람다식(Lambda)이란?  (1) 2023.08.10