티스토리 뷰

728x90
반응형

List<String> → Array

 

List<String> → String[]

 

문자열 리스트를 문자열 배열로 바꾸는 건 굉장히 간단하다.

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class Example {
    public static void main(String[] args) {

        List<String> list = new ArrayList<>();

        list.add("101");
        list.add("103");
        list.add("107");

        String[] arr = list.toArray(new String[list.size()]);

        System.out.println(Arrays.toString(arr) + ", " + arr.getClass().getName());
    }
}
[101, 103, 107], [Ljava.lang.String;

손쉽게 변환이 완료된 것을 확인할 수 있다.

 

같은 작업을 스트림을 이용하면 아래와 같이 된다.

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class Example {
    public static void main(String[] args) {

        List<String> list = new ArrayList<>();

        list.add("101");
        list.add("103");
        list.add("107");

        String[] arr = list.stream()
                        .toArray(String[]::new);

        System.out.println(Arrays.toString(arr) + ", " + arr.getClass().getName());
    }
}
[101, 103, 107], [Ljava.lang.String;

 

List<String> → Integer[]

 

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class Example {
    public static void main(String[] args) {

        List<String> list = new ArrayList<>();

        list.add("101");
        list.add("103");
        list.add("107");

        Integer[] arr = list.stream()
                        .map(Integer::parseInt)
                        .toArray(Integer[]::new);

        System.out.println(Arrays.toString(arr) + ", " + arr.getClass().getName());
    }
}
[101, 103, 107], [Ljava.lang.Integer;

 

List<String> → int[]

 

형 변환과 자료형 변환을 한 번에 하려면 스트림이 편리하다.

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class Example {
    public static void main(String[] args) {

        List<String> list = new ArrayList<>();

        list.add("101");
        list.add("103");
        list.add("107");

        int[] arr = list.stream()
                .mapToInt(Integer::parseInt)
                .toArray();

        System.out.println(Arrays.toString(arr) + ", " + arr.getClass().getName());
    }
}
[101, 103, 107], [I

 

List<Integer> → Array

 

List<Integer> → String[]

 

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class Example {
    public static void main(String[] args) {

        List<String> list = new ArrayList<>();

        list.add("101");
        list.add("103");
        list.add("107");

        String [] arr = list.stream()
                        .map(String::valueOf)
                        .toArray(String[]::new);

        System.out.println(Arrays.toString(arr) + ", " + arr.getClass().getName());
    }
}
[101, 103, 107], [Ljava.lang.String;

 

List<Integer> → Integer[]

 

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class Example {
    public static void main(String[] args) {
        List<Integer> list = new ArrayList<>();

        list.add(101);
        list.add(103);
        list.add(107);

        Integer[] arr = list.stream()
                .toArray(Integer[]::new);

        System.out.println(Arrays.toString(arr) + ", " + arr.getClass().getName());
    }
}
[101, 103, 107], [Ljava.lang.Integer;

 

 

List<Integer> → int[]

 

래퍼 클래스에서 기본 타입으로의 변환은 매핑 한 번으로 끝난다.

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class Example {
    public static void main(String[] args) {
        List<Integer> list = new ArrayList<>();

        list.add(101);
        list.add(103);
        list.add(107);

        int[] arr = list.stream()
                .mapToInt(a -> a)
                .toArray();

        System.out.println(Arrays.toString(arr) + ", " + arr.getClass().getName());
    }
}
[101, 103, 107], [I

 

Array → List

 

string[] → List<String>

 

import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;

public class Example {
    public static void main(String[] args) {

        String[] arr = {"101", "103", "107"};

        List<String> list = Stream.of(arr)
                .map(String::valueOf)
                .collect(Collectors.toList());

        System.out.println(list + ", " + list.getClass().getName());
    }
}
[101, 103, 107], java.util.ArrayList

 

string[] → List<Integer>

 

import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;

public class Example3 {
    public static void main(String[] args) {

        String[] arr = {"101", "103", "107"};

        List<Integer> list = Stream.of(arr)
                .mapToInt(Integer::parseInt)
                .boxed()
                .collect(Collectors.toList());

        System.out.println(list + ", " + list.getClass().getName());
    }
}
[101, 103, 107], java.util.ArrayList

boxed() 메서드는 원시 타입(int, double 등)을 래퍼 타입(Integer, Double 등)으로 감싸주는 기능을 한다.

 

int[] → List<String>

 

import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.IntStream;

public class Example3 {
    public static void main(String[] args) {

        int[] arr = {101, 103, 107};

        List<String> list = IntStream.of(arr)
                .mapToObj(String::valueOf)
                .collect(Collectors.toList());

        System.out.println(list + ", " + list.getClass().getName());
    }
}
[101, 103, 107], java.util.ArrayList

정수형 배열이라 Stream 대신 IntStream을 사용한 것을 확인할 수 있다.

 

int[] → List<Integer>

 

import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.IntStream;

public class Example3 {
    public static void main(String[] args) {

        int[] arr = {101, 103, 107};

        List<Integer> list = IntStream.of(arr)
                .boxed()
                .collect(Collectors.toList());

        System.out.println(list + ", " + list.getClass().getName());
    }
}
[101, 103, 107], java.util.ArrayList

boxed()로 한 번 감싸주기만 하면 끝난다.

반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함