https://www.acmicpc.net/problem/1009
1009번: 분산처리
입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트 케이스에 대해 정수 a와 b가 주어진다. (1 ≤ a < 100, 1 ≤ b < 1,000,000)
www.acmicpc.net
package main;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.Arrays;
public class Main {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int cnt;
cnt = Integer.parseInt(br.readLine());
int[] answer = new int[cnt];
int[] num;
for (int i = 0; i < cnt; i++) {
num = Arrays.stream(br.readLine().split(" "))
.mapToInt(Integer::parseInt).toArray();
answer[i] = 1;
for (int j = 1; j <= num[1]; j++) {
answer[i] = (answer[i] * num[0]) % 10;
}
if (answer[i] == 0)
bw.write("10" + "\n");
else
bw.write(String.valueOf(answer[i]) + "\n");
}
bw.flush();
bw.close();
br.close();
}
}


위의 문제 풀이에서 사용한 문자열 배열을 정수형 배열로 저장한 방법에는 두가지 방법이 존재합니다
1. Arrays.stream
package main;
import java.util.Arrays;
public class StringArrayToIntArray {
public static void main(String[] args) {
// 문자열 배열 생성
String[] stringArray = {"1", "2", "3", "4", "5"};
// 문자열 배열을 정수 배열로 변환
int[] intArray = Arrays.stream(stringArray).mapToInt(Integer::parseInt).toArray();
// 결과 출력
for (int num : intArray) {
System.out.println(num);
}
}
}
2. Stream.of
package main;
import java.util.stream.Stream;
public class Ex {
public static void main(String[] args) {
// 문자열 배열 생성
String[] stringArray = {"1", "2", "3", "4", "5"};
// 문자열 배열을 정수 배열로 변환
int[] intArray = Stream.of(stringArray).mapToInt(Integer::parseInt).toArray();
// 결과 출력
for (int num : intArray) {
System.out.println(num);
}
}
}
둘의 차이점으로는 Stream.of의 반환형은 Stream<T>이고 Arrays.stream의 반환형은 intStream이라는 것입니다.