[java] Array to List, list to Array

kimjingwon·2023년 3월 26일
0
post-custom-banner

int타입뿐 만 아니라 다른 기본타입에도 해당된다.

Primitive type

array to list

방법 1.

for문을 사용하여 array의 전체 원소를 차레대로 list에 추가

    int array[] = new int[]{1,2,3};
    for(int i : array){
        list.add(i);
    }

방법 2.

stream을 이용했다.

Arrays.stream(array) = array배열을 stream으로 변환
boxed() = int타입을 Integer타입으로 박싱(변환)
collect(Collectors.toList()) = stream을 Collection의 List로 변환

    List list1 = Arrays.stream(array)
            .boxed()
            .collect(Collectors.toList());

    

list to Array

방법 1.

for문을 사용하여 list에 있는 원소의 값을 arrays배열에 순서대로 대입해주었다.

    int [] arrays = new int[list.size()];
    for(int i=0;i< list.size();i++){
        arrays[i]=list.get(i);
    }
    

방법 2.

stream을 사용했고 차례대로 나누면
list.stream() = list를 stream으로 변경
mapToInt() = stream을 intstream으로 변경
(i -> i) = Integer타입 원소를 int타입으로 자동언박싱해준다.
toArray() = stream을 array로 바꿔서 반환한다.

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

방법 3.

방법2와 같은 방식인데
(i -> i)에서 자동언박싱되는 방법이 아니라
(Integer::intValue) = Integer의 메소드 intvalue를 통해 명시적으로 Integer타입을 int로 변경해서 intstream을 변경했다.

    int [] arry = list.stream().mapToInt(Integer::intValue).toArray();
    
    

String type

array to list

방법 1.

for문을 사용하여 st의 원소를 차례대로 list에 대입하였다.

    String[] st = new String[]{"test"};
    List<String> stList = new ArrayList<>();
    for(String s : st){
        stList.add(s);
    }

방법 2.

Arrays.stream(st) = st를 이용해 stream 생성
toList() = stream을 List형식으로 변경해서 반환

    String[] st = new String[]{"test"};
    List<String> stList = Arrays.stream(st).toList();
  

list to array

방법 1.

for문을 통해 list의 값을 차례대로 array에 삽입한다.

    stList = new ArrayList<>();
    stList.add("test");
    String st[] = new String[stList.size()];
    
    for(int i=0; i<stList.size();i++){
        st[i] = stList.get(i);
    }

방법 2.

List.toArray() = list를 object[]으로 변환
new String[stList.size()] = object타입이 아니라 stList 의 사이즈 크기만큼의 String타입의 array로 변환

    List<String> stList = new ArrayList<>();
    stList.add("test");

    String[] st = stList.toArray(new String[stList.size()]);
post-custom-banner

0개의 댓글