자바에는 문자열, 배열, 리스트 등 여러 자료형의 길이 또는 크기를 구할 수 있는 다양한 메서드들이 있습니다. 각 자료형에 따라 적합한 메서드를 선택하는 것이 중요합니다. 자주 쓰이는 메서드들을 정리해 보았습니다. 코딩테스트에서도 많이 활용되니, 익혀두길 바랍니다.
length - 배열의 길이
설명: 배열의 길이를 구할 때 사용되는 속성입니다. 메서드가 아닌 속성(length)으로, 괄호 없이 호출합니다.
사용 예시:
int[] arr = {1, 2, 3};
System.out.println(arr.length); // 출력: 3
length() - 문자열의 길이
설명: 문자열(String)의 길이를 구할 때 사용됩니다. 빈 문자열일 경우 0을 반환합니다.
사용 예시:
String str = "Hello";
System.out.println(str.length()); // 출력: 5
문자열과 배열의 길이 구하는 메소드가 비슷하므로 헷갈리지 않아야합니다!
size() - 컬렉션의 크기 (List, Set, Queue 등)
설명: ArrayList, LinkedList, HashSet, Queue 등 자바 컬렉션 프레임워크에서 요소의 개수를 구할 때 사용합니다.
사용 예시 :
List<String> list = new ArrayList<>();
list.add("A");
list.add("B");
System.out.println(list.size()); // 출력: 2
count() - 자바 스트림에서 요소 개수 구하기
설명: 스트림(Streams)에서 특정 조건을 만족하는 요소의 개수를 셀 때 사용됩니다. 전체 개수를 세는 데에도 유용합니다.
사용 예시:
List<String> list = Arrays.asList("apple", "banana", "cherry");
long count = list.stream().filter(s -> s.startsWith("a")).count(); // 출력: 1 ("apple")
size()와 count()의 차이점 요약
size(): 컬렉션에 포함된 전체 요소의 개수를 반환합니다. 스트림이 필요 없고, 컬렉션 클래스에서 바로 사용 가능합니다.
count(): 스트림에서 조건에 맞는 요소의 개수를 셀 때 주로 사용됩니다. 스트림을 통해서만 사용할 수 있고, filter()와 함께 조건부 개수 세기에 유용합니다.
두 메서드는 사용하는 대상과 필요 여부에 따라 다르게 선택하면 됩니다.
isEmpty() - 비어 있는지 여부 확인
설명: 리스트나 문자열, 맵 등이 비어 있는지 확인하는 메서드입니다. size() == 0을 대체하는 직관적인 방식입니다.
사용 예시 :
List<String> list = new ArrayList<>();
System.out.println(list.isEmpty()); // 출력: true
contains() - 특정 요소 포함 여부 확인
설명: String이나 List가 특정 문자 또는 요소를 포함하는지 확인할 때 사용합니다.
사용 예시 :
String str = "Hello World";
System.out.println(str.contains("World")); // 출력: true
이러한 메서드와 클래스들은 코딩 테스트 문제를 빠르게 해결하고, 효율적인 코드를 작성하는 데 자주 사용됩니다. 다양한 문제를 풀어 보면서 각 메서드의 활용 방식을 익히면, 테스트에서 시간 단축과 코드 최적화에 큰 도움이 될 것 입니다.