1. int[ ] 배열을 String[ ] 배열로
public class Solution {
public String[] solution(int[] intArray) {
String[] strArray = Arrays.stream(intArray)
.mapToObj(String::valueOf)
.toArray(String[]::new);
return strArray;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
Solution s = new Solution();
int[] intArray = { 1, 2, 3, 5, 6};
System.out.println(Arrays.toString(s.solution(intArray)));
}
}
▶ Arrays.stream(intArray) 의 반환타입은 IntStream이다.
▶ mapToObj(String::valueOf) 의 반환타입은 Stream<String>이다.
▶ mapToObj() 메서드의 역할은 기본형스트림(IntStream)을 Stream타입으로 전환시켜준다.
▶ toArray()에 String[ ]::new 를 대입하지 않는 경우 toArray() 반환타입은 Object[ ] 배열이다.
▶ toArray(String[ ]::new)를 함으로써 반환타입이 String[ ] 배열 타입이 된다.
2. String[ ] 배열을 int[ ] 배열로
public class Solution {
public int[] solution(String[] strArray) {
int[] intArray = Stream.of(strArray)
.mapToInt(Integer::parseInt)
.toArray();
return intArray;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
Solution s = new Solution();
String[] strArray = { "1", "2", "3", "5", "6"};
System.out.println(Arrays.toString(s.solution(strArray)));
}
}
▶ Stream.of(strArray)는 반환타입이 Stream<String>이다.
▶ maptoInt(Integer::parseInt)은 반환타입이 IntStream이다.
▶ 따라서 toArray()메서드의 경우 앞에서 반환타입이 이미 IntStream이기 때문에
▶ 별도의 매개변수가 필요 없고, 그냥 toArray() 메서드를 사용하면된다.
'자바 알고리즘 > 알고리즘 직빵 자바 문법' 카테고리의 다른 글
숫자 문자열 정렬하기 - 오름차순, 내림차순 (0) | 2022.11.26 |
---|---|
int[ ] 배열의 오름차순, 내림차순 정렬 (0) | 2022.11.26 |
문자열String → Character 객체타입으로 바꾸기 (0) | 2022.11.25 |
삼항 연산자 vs if ~else구문 (0) | 2022.11.25 |
[Java] char 배열을 String 문자열로 변환하기(3가지) (0) | 2022.11.25 |