문제
내가 작성한 정답
class Solution {
public String[] solution(String my_string) {
return my_string.split(" ");
}
}
ArrayList → Array로 변경하기(String[]에서)
: 출력값이 int[] 라면 toArray()는 기본형은 취급하지 않으므로 사용하지 않는게 낫다.
import java.util.*;
class Solution {
public String[] solution(String my_string) {
ArrayList<String> answer = new ArrayList<>();
for(String s : my_string.split(" ")){
answer.add(s);
}
// ArrayList -> Array로 변경
return answer.toArray(String[]::new);
return answer.toArray(new String[0]); // -> 이게 좀 더 빠름
}
}
- toArray() 메서드 컬렉션(예: ArrayList, HashSet 등)의 모든 요소를 배열로 변환하는 메서드. 이 메서드를 호출하면 현재 컬렉션의 모든 요소를 포함하는 새로운 배열이 생성된다.
oArray()는 Collection 인터페이스를 구현하는 모든 객체에서 사용할 수 있다.
→ ArrayList, LinkedList, HashSet 등에서 사용가능하다
- new String[0] toArray(T[] a) 메서드는 배열을 인자로 받아, 반환할 배열의 타입을 알려준다. 여기서 T는 배열의 타입입니다. new String[0]는 빈 문자열 배열을 생성하여 이 메서드에 반환할 배열의 타입을 전달.
- 타입 정보 제공: toArray(new String[0])를 호출하면, 반환될 배열의 타입이 String임을 명시적으로 지정. 이 방법은 Java의 제네릭 타입을 사용하여 컴파일러가 타입을 확인하도록 도와준다.
- 필요한 크기 조정: toArray(new String[0])를 사용하면 반환되는 배열의 크기는 컬렉션의 크기에 맞게 자동으로 조정된다. 빈 배열을 전달하더라도, 내부적으로 필요한 크기의 배열이 생성되어 반환된다.
Share article