ramin
60
2020-01-15 21:03:52
4
419

List<String[]> 타입을 String[]으로 변환 하는 방법을 모르겠습니다..


구글링해서 찾아봐도 List<String> -> String[]으로 변환하는건 나오는데

List<String[]> -> String[]으로 변환 하는 방법이 없어서요ㅠㅠㅠㅠ


0
  • 답변 4

  • 봄을찾아서
    270
    2020-01-15 21:23:49

    List 안에 array가 있는 경우니 2차원 배열로 보시면 됩니다.

    즉, List<String[]>의 의미를 살려보면 String[]이 아닌 String[][]으로 변환 되어야 합니다.

    물론, 2차원 배열을 1차원 배열로 나타낼 수는 있지만 의도하신 방향은 아닌 것 같습니다.

    그런데, 왜 List와 Array를 섞어서 사용하는지 의문을 제기해 보아야합니다. 왠만하면 List를 사용하는게 좋습니다.

  • fender
    20k
    2020-01-15 21:32:47

    대략 이렇게 할 수 있지 않을까요?

    // list가 List<String[]>의 유형의 변수일 때:
    String[] array = list
        .stream()
        .map(Arrays::asList)
        .flatMap(List::stream)
        .toArray(String[]::new);


  • 곰개발자
    2020-01-15 22:21:41

    fender 

    간만에 코딩좀 해볼까 하고, 내려 보니 답을 달아 놓으셨네요. :) 

  • fender
    20k
    2020-01-15 22:24:43 작성 2020-01-16 00:15:28 수정됨

    곰개발자 // 자바 쓸 적엔 스트림을 안써봐서 한 번 해보고 싶었어요 ㅎㅎ;

  • 로그인을 하시면 답변을 등록할 수 있습니다.