2017-09-14 2 views
-1

루프를 사용하지 않고 문자열을 정수 배열로 분할하는 방법은 무엇입니까? 예를 들어문자열을 정수 배열로 분할하는 방법은 무엇입니까?

:
내가 문자열 "12345"을하고 난 루프를 사용하지 않고 배열 [1,2,3,4,5]을 int로 변환 할 싶어합니다. 나는 그렇게하는 법을 안다. 자바가 제공하고 원하는 데이터 유형으로 변환하는 내장 함수가 있습니까?

+4

적어도 루프를 사용하여 수행하는 방법을 보여줍니다. –

+0

스트림 BTW는 찾고자하는 개념입니다. –

+4

지금까지 어떤 시도를 했습니까? – GurV

답변

0

자바 (8) 당신이 사용할 수있는 경우 Stream :

. "순차 및 병렬 집계 작업을 지원 요소의 순서"

관찰 :

import java.util.Arrays; 
import java.util.stream.Stream; 

class Main { 
    public static void main(String[] args) { 
    String numbersString = "12345"; 

    int[] numbersIntArray = Stream.of(numbersString.split("")).mapToInt(Integer::parseInt).toArray(); 

    System.out.println(Arrays.toString(numbersIntArray)); // [1, 2, 3, 4, 5] 
    } 
} 
0

자바 (8) 당신은 배열도 백분율 사용 할 수 있습니다.

String string = "12345"; 
int[] ints= Arrays.asList(string.split("")).stream().mapToInt(Integer::parseInt).toArray(); 
System.out.println(Arrays.toString(ints));; 
0

재귀를 사용할 수 있습니다.

public class Test { 

    static List<Integer> integerArray = new ArrayList<Integer>(); 
    static int strLength; 
    static String s; 

    public static void main(String[] args) { 

     s = "12345"; 
     strLength = s.length(); 

     recursiveMe(0); 

     System.out.println(integerArray.toString()); 
    } 

    public static void recursiveMe(int n) { 
     if (n < strLength) { 
      integerArray.add(n, Integer.parseInt(String.valueOf(s.charAt(n)))); 
      recursiveMe(n + 1); 
     } 
    } 

} 
관련 문제