코딩 테스트

배열 형변환 (Stream)

한 면만 쓴 종이 2023. 1. 17. 16:41

백준 문제를 풀다가 String[] 을 Integer[]로 형변환하는게 많이 필요했다.

그런데 형변환을 할 때마다 for 문을 쓰면 코드가 너무 더러워 보여서 아래와 같은 방법을 썼다.

 

public static void main(String[] args) throws IOException {

    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    int num = Integer.parseInt(br.readLine());
    List<Integer[]> list = new ArrayList<Integer[]>();

    for (int i = 0; i < num; i++) {
        String s = br.readLine();
        String[] tmp = s.split(" ");
        // String타입인 tmp를 Integer로 형변환
        Integer[] len = Stream.of(tmp).mapToInt(Integer::parseInt).boxed().toArray(Integer[]::new);
        list.add(len);

    }